Rinse the rice in a fine mesh strainer until the water runs clear. Set aside.
In a large saucepan over medium-high heat, add the oil. Once hot, add the rice and stir to combine. Cook over medium heat, stirring frequently, until the rice is lightly golden brown all over (about 10 minutes).
Add tomato sauce, garlic, and diced onion to the pan. Stir. Add tomato bullion, salt, carrots, peas, and water (and serrano peppers, if using. They add a little flavor, but not spice.).
Bring to a boil, then cover, reduce heat to low and cook for about 20 minutes or until the water is completely absorbed. Remove from heat and allow to rest for 5 minutes before fluffing with a fork.
Rice: Washing the rice is crucial to remove the outer starch, allowing the rice to cook fluffy. If you'd like to use Brown Rice, increase liquid by 1/2 cup and cook for 40 minutes, following the same resting instructions.Tomato Sauce: I used this because it's fast and easy, but for a more authentic version, add 1-2 fresh tomatoes to a blender with the onion and garlic, and blend before adding to the rice.Tomato Bouillon: granules or cubes, found in the Mexican aisle or online. This adds color and flavor to the rice. If you can't find it, substitute chicken Bouillon.Serrano peppers: It's optional to add 1-2 on top of the rice while it cooks, to add extra flavor (it wont make the rice "spicy".Instant Pot Mexican Rice: If you own an instant pot, I've adapted this recipe for Instant pot Mexican rice.Serveas a side with any number of my favorite Mexican recipes.