Heat 2 tablespoons oil in a medium, heavy nonstick skillet over medium heat. Add the onions and saute until translucent, about 3 minutes. Add the poblano chiles and saute, about 8 minutes. Mix in the garlic and cook until fragrant, about 1 minute. Season with the salt and pepper. Add 1 cup broth and bring to a boil. Turn off the heat and let cool.
Transfer the mixture to a blender and process until smooth, about 1 minute. Measure the liquid yield from the blender, adding more chicken broth if necessary to yield 2 total cups of poblano liquid. Adjust seasoning to taste.
Meanwhile, clean the skillet, place over medium heat and add the remaining 1 tablespoon oil. Fry the rice until slightly golden. Pour the poblano puree into the skillet and bring to a simmer. Turn down the heat to medium-low and cover tightly. Cook for 30 minutes, turn off the heat and let rest for 10 minutes. Fluff with a fork before serving.