Melt the butter in a large skillet over medium heat.
Add the chopped onion and minced garlic and cook, stirring, until the onion is tender and fragrant, about 3–4 minutes.
Stir in the chicken broth, salsa, and garlic powder and bring the mixture to a boil.
Add the uncooked rice, stir, and return to a boil.
Place the chicken breasts on top of the rice, reduce the heat to low, cover, and simmer 20–25 minutes, turning the chicken halfway through, until the rice is tender and the chicken reaches 165°F (74°C).
Remove the skillet from the heat, sprinkle the shredded Mexican cheese over the chicken and rice, cover, and let stand until the cheese melts.
Garnish with chopped cilantro if desired and serve.