01 - In a large bowl, combine yogurt, lemon juice, spices, salt, garlic, and ginger. Add chicken pieces and toss to coat. Cover and refrigerate for at least 30 minutes or overnight for enhanced flavor.
02 - Rinse basmati rice under cold water until water runs clear. Drain thoroughly.
03 - Bring water, salt, and butter (if using) to a boil in a medium saucepan. Add rice, reduce heat to low, cover, and cook for 15 minutes. Remove from heat and let sit covered for 10 minutes. Fluff with a fork.
04 - Heat oil or ghee in a large skillet or Dutch oven over medium-high heat. Remove excess marinade from chicken pieces and cook in batches until browned on all sides, about 4 to 5 minutes. Remove chicken and set aside.
05 - In the same pan, add onions and sauté until soft and golden, approximately 5 minutes. Add garlic and ginger, cooking for 1 minute until fragrant.
06 - Stir in cumin, coriander, paprika, garam masala, and chili powder. Cook for 1 minute to release aromas.
07 - Add crushed tomatoes and sugar, then simmer for 10 minutes, stirring occasionally.
08 - Return browned chicken to the pan and simmer in sauce for 10 to 12 minutes until fully cooked.
09 - Stir in heavy cream and simmer gently for 3 to 4 minutes until the sauce is creamy and heated through. Adjust salt to taste.
10 - Plate chicken tikka masala over basmati rice and garnish with chopped cilantro.