Rinse the rice in a fine mesh strainer until the water runs clear. In a large saucepan, heat the vegetable oil over medium heat and add the rice. Toast the rice, stirring constantly, for about 5 minutes until it turns lightly golden.
Add the diced onion and minced garlic to the pan. Sauté for 2 to 3 minutes until softened. Stir in the tomato sauce, ground cumin, chili powder, salt, and chicken broth. Bring the mixture to a boil.
Reduce the heat to low, cover the pan, and let the rice simmer for about 20-30 minutes or until all the liquid is absorbed. Remove the pan from heat and let the rice rest, covered, for an additional 5 minutes. Fluff with a fork before serving and garnish with cilantro.