Rinse the rice in a fine mesh strainer under cold water until the water runs mostly clear. Shake well to remove excess water and pat dry with a towel.
Heat oil in a large skillet over medium-high heat. Add the rinsed and dried rice, reduce heat to medium, and toast for 8-12 minutes, stirring frequently, until the rice turns a light golden-brown color and smells nutty.
Push rice to the edges of the pan, add diced onion to the center, and cook for 2-3 minutes until translucent. Add minced garlic and cook for 1-2 minutes more until fragrant, stirring constantly.
Pour in tomato sauce and stir to coat the rice evenly. Add tomato bouillon, cumin, chili powder, garlic powder, onion powder, salt, and pepper, and cook for 1 minute to bloom the spices.
Pour in chicken broth, stir, and nestle the whole serrano or jalapeno on top if using. Bring to a rolling boil over high heat, about 3-4 minutes.
Reduce heat to the lowest setting, cover with a tight-fitting lid, and simmer undisturbed for 18-20 minutes until all liquid is absorbed.
Remove from heat and let rest, covered, for 5-10 minutes. Remove the pepper, then fluff the rice gently with a fork. Garnish with cilantro and serve immediately.