Heat oil in a large saucepan over medium-high heat. Add rice and cook, stirring often for 2 to 3 minutes.
Clear a space in the center of pan and add butter. Once it melts, add onion, corn and cook, stirring and mixing with rice, for 2 to 3 minutes, until onion begins to soften. Add salt and allspice, stir well, and stir in broth or water. Bring to a boil, add poblano peppers. Stir, cover, and reduce heat to the lowest setting.
Simmer for 12 to 15 minutes, until most of the liquid has been absorbed. Remove from heat and let rest, covered, for 5 minutes. Fluff with a fork and serve.