Melt butter in a medium saucepan over medium heat. Add rice and cook, stirring constantly, until just golden. Add garlic, cumin, chili powder, salt and pepper and cook a few minutes more.
Stir in onions and cook until tender. Stir in chicken broth and tomato sauce and bring to a boil. Caution: rice is very hot, addition of chicken broth will react violently.
Reduce heat to low. Cover and simmer for 20 to 25 minutes or until rice is tender. Fluff with fork and stir in cilantro.