Heat oven to 400°F. Line a baking sheet with aluminum foil.
Cut the tops off the poblano peppers and remove the seeds. Coat the peppers with 1 tablespoon of olive oil and place them on the baking sheet. Roast for 20 minutes, until the poblano skins are blackened in places. Remove from the oven and transfer the peppers to a cutting board. When cool enough to handle, carefully peel off and discard the charred skin. Coarsely chop the peppers and set aside. (Alternatively, to roast the poblanos on the stove, place whole peppers directly on a medium-high open flame or under a preheated broiler and rotate them until their skin becomes charred and blistered. Transfer the peppers to a covered container or plastic bag to steam, then remove the blackened skin.)
While the peppers roast, quarter baby potatoes into 1-inch pieces and place them in a large saucepan. Add enough water to cover by 1 inch. Place on the stove and bring to a boil. Cook for 5-7 minutes, or until the potatoes are par-cooked and have only slight resistance when pierced with a fork. Drain and let cool for 5 minutes.
Heat a large skillet over medium-high heat, then add the remaining 2 tablespoons of olive oil. When the oil is hot, place potatoes into the skillet in a single layer. Cook for 10 minutes, stirring occasionally, until a light crust forms on most of the potatoes.
Add the onion and roasted poblanos. Continue cooking for an additional 2 minutes, until the onion is softened.
Season to taste with salt and black pepper then serve hot.