Cook the basmati rice according to package directions until just tender, then set it aside.
Preheat the oven to 375°F. In a large skillet, melt the butter over medium heat. Add the diced onion and cook until softened.
Stir in the garlic and ginger, then add the chicken pieces. Cook until the chicken is no longer pink on the outside.
Sprinkle in the garam masala, cumin, and turmeric. Stir for one minute, then pour in the tomato sauce, heavy cream, and chicken broth. Season with salt and pepper. Simmer for 5 minutes until the sauce thickens slightly.
Remove the skillet from heat and fold in the cooked rice until evenly coated. Transfer the mixture to a greased 9x13 baking dish.
Bake for 20 minutes until the top is lightly golden. Let it rest for 5 minutes before sprinkling with chopped cilantro.