01 - Combine all marinade ingredients in a large bowl. Add chicken pieces and toss thoroughly to coat. Cover and refrigerate for at least 30 minutes, ideally 2-4 hours for maximum flavor penetration.
02 - Rinse basmati rice under cold water until water runs clear. Combine rice, water, and salt in a medium saucepan. Bring to a boil, cover, reduce heat to low, and simmer 12-15 minutes. Remove from heat, let stand 5 minutes, then fluff with fork and stir in butter or ghee.
03 - Preheat oven broiler or prepare grill pan. Thread marinated chicken onto skewers or spread on lined baking sheet. Grill or broil 8-10 minutes, turning once, until slightly charred and cooked through. Set aside.
04 - Heat oil or ghee in large skillet over medium heat. Add onions and cook 8 minutes until soft and golden. Add minced garlic and grated ginger, sauté 1 minute until fragrant.
05 - Add cumin, coriander, garam masala, paprika, and cayenne to skillet. Stir constantly for 1 minute until spices release aroma and become fragrant.
06 - Pour in crushed tomatoes and sugar. Simmer uncovered for 10 minutes, stirring occasionally to prevent sticking and allow flavors to concentrate.
07 - Stir heavy cream into tomato sauce base. Simmer 3 minutes until fully incorporated and slightly thickened. Season with salt and pepper to taste.
08 - Add grilled chicken pieces to sauce. Simmer 5-7 minutes until chicken is heated through and flavors have melded together.
09 - Spoon chicken tikka masala over prepared basmati rice. Garnish generously with chopped fresh cilantro and serve immediately.