01 - In a large bowl, combine yogurt, lemon juice, oil, garlic, ginger, cumin, coriander, garam masala, paprika, salt, turmeric, and cayenne. Add chicken, toss to coat, cover, and marinate in the refrigerator for at least 30 minutes, preferably 2–4 hours for optimal flavor penetration.
02 - Rinse basmati rice under cold water until the water runs clear. Combine rice, water, salt, and butter in a saucepan. Bring to a boil, reduce heat to low, cover, and simmer for 12–15 minutes or until water is absorbed. Remove from heat and let stand, covered, for 5 minutes. Fluff with a fork before serving.
03 - Preheat the grill or a large skillet over medium-high heat. Thread marinated chicken onto skewers or place directly in the skillet. Cook for 5–7 minutes, turning occasionally, until chicken is browned and cooked through with an internal temperature of 165°F. Set aside.
04 - Heat oil in a large pan over medium heat. Add onions and sauté until golden brown and softened, about 7 minutes. Add garlic and ginger; cook for 1 minute until fragrant, being careful not to burn the garlic.
05 - Stir in cumin, coriander, paprika, chili powder, and garam masala. Cook for 1 minute until spices are fragrant and lightly toasted, stirring constantly to prevent scorching.
06 - Add crushed tomatoes and sugar. Simmer for 10 minutes, stirring occasionally, until the mixture thickens slightly and the raw tomato flavor dissipates.
07 - Stir in heavy cream, season with salt to taste, and simmer for another 5 minutes to allow the sauce to thicken. Add cooked chicken to the sauce and simmer for 5 minutes, allowing flavors to meld together.
08 - Serve chicken tikka masala over steamed basmati rice, garnished generously with fresh chopped cilantro. Accompany with naan bread or roti and cucumber raita if desired.