In a large skillet, heat the vegetable oil over medium heat. Add the chopped onion and sauté until translucent, about 3-4 minutes.
Stir in the minced garlic and cook for an additional 1 minute until fragrant.
Add the rice to the skillet and cook, stirring frequently, until the rice is lightly toasted, about 2-3 minutes.
Pour in the chicken broth and diced tomatoes (with their juice). Stir in the chili powder, cumin, salt, and black pepper.
Bring the mixture to a boil, then reduce the heat to low. Cover the skillet and simmer for 18-20 minutes, or until the rice is tender and the liquid is absorbed.
If using, stir in the frozen peas and carrots during the last 5 minutes of cooking.
Remove from heat and let it sit, covered, for 5 minutes. Fluff the rice with a fork and garnish with fresh cilantro before serving.