01 - In a large bowl, combine yogurt, lemon juice, cumin, coriander, turmeric, garam masala, paprika, salt, minced garlic, and grated ginger. Add chicken pieces and toss to coat evenly. Cover and refrigerate for at least 30 minutes or overnight for optimal flavor.
02 - Rinse basmati rice under cold running water until the water runs clear to remove excess starch. Drain thoroughly.
03 - Bring water, salt, and optional butter to a boil in a medium saucepan. Add rice, reduce heat to low, cover, and simmer for 15 minutes. Remove from heat and let stand, covered, for 10 minutes. Fluff with a fork before serving.
04 - Heat vegetable oil or ghee in a large skillet or Dutch oven over medium-high heat. Shake off excess marinade from chicken pieces and cook in batches until browned on all sides, about 4 to 5 minutes per batch. Remove chicken and set aside.
05 - In the same pan, add chopped onions and sauté until soft and golden, approximately 5 minutes. Add minced garlic and grated ginger, cooking for an additional minute until fragrant.
06 - Incorporate ground cumin, coriander, paprika, garam masala, and chili powder into the pan. Stir and cook for 1 minute to release the spices' aromas.
07 - Add crushed tomatoes and sugar to the pan. Reduce heat and let simmer for 10 minutes, stirring occasionally to blend flavors.
08 - Return the browned chicken pieces to the pan. Simmer gently for 10 to 12 minutes until chicken is cooked through and tender.
09 - Stir in heavy cream and simmer for another 3 to 4 minutes until the sauce is creamy and heated through. Adjust seasoning with salt to taste.
10 - Plate the chicken tikka masala over the prepared basmati rice. Garnish with freshly chopped cilantro and serve immediately.