Heat 2 tablespoons of butter in a skillet over medium-high and use it brown the pieces of the chicken so each side is browned.
Continue cooking chicken until cooked through and reaches an internal temperature of 165F.
Melt another 2 Tbsp of butter in a saucepan over medium heat.
Add the onion and garlic and cook until the onion is translucent. Add the garam masala, chili powder, cumin and heat for 30 seconds before adding the tomato sauce.
Bring the mixture to a simmer and let cook for 3-5 minutes before adding heavy cream. Simmer for 1 minute longer while you portion out the rice and chicken.
Add the remaining butter to the sauce, adjust the flavor with salt, pepper and additional spices, and then spoon out over the chicken.
Garnish with cilantro.