01 - Combine yogurt, lemon juice, oil, garlic, ginger, cumin, coriander, garam masala, paprika, salt, turmeric, and cayenne in a large bowl. Add chicken and toss to coat thoroughly. Cover and refrigerate for at least 30 minutes, preferably 2-4 hours for maximum flavor absorption.
02 - Rinse basmati rice under cold water until water runs clear. Combine rice, water, salt, and butter in a saucepan. Bring to a boil over high heat, reduce to low, cover tightly, and simmer for 12-15 minutes until liquid is absorbed. Remove from heat and let stand covered for 5 minutes before fluffing with a fork.
03 - Preheat grill or large skillet over medium-high heat. Thread marinated chicken onto skewers or place directly in skillet. Cook for 5-7 minutes, turning occasionally, until chicken is browned on all sides and reaches internal temperature of 165°F. Remove from heat and set aside.
04 - Heat oil in a large pan over medium heat. Add finely chopped onion and sauté for approximately 7 minutes until golden brown. Add minced garlic and grated ginger, stirring constantly for 1 minute until fragrant.
05 - Stir in cumin, coriander, paprika, chili powder, and garam masala. Cook for 1 minute, stirring continuously to release essential oils and prevent burning, until spices become highly aromatic.
06 - Add crushed tomatoes and sugar to spiced aromatics. Reduce heat to medium-low and simmer for 10 minutes, stirring occasionally to prevent scorching, until sauce begins to thicken slightly.
07 - Pour in heavy cream, season with salt to taste, and simmer for 5 minutes until sauce reaches desired consistency. Add cooked chicken to sauce and simmer for an additional 5 minutes, allowing flavors to meld together.
08 - Spoon chicken tikka masala over steamed basmati rice. Garnish generously with chopped fresh cilantro and serve immediately while hot.