Heat the olive oil in a large saucepan over medium heat. Add the onion and garlic and cook until softened, about 5 minutes. Stir in the chili powder, cumin and salt.
Add the rice and stir to coat with the spices. Pour in the chicken broth and bring to a boil. Reduce heat to low, cover and simmer for 20 minutes.
Remove from heat and let stand for 5 minutes before fluffing with a fork.