01 - Combine chicken with yogurt, lemon juice, turmeric, cumin, garam masala, chili powder, and salt in a large bowl. Mix thoroughly to coat all pieces. Cover and refrigerate for at least 10 minutes, up to 1 hour for enhanced flavor penetration.
02 - Heat 1 tbsp butter and oil in a large skillet over medium-high heat until shimmering. Add marinated chicken pieces in a single layer. Cook for 5-6 minutes, turning occasionally, until lightly browned on all sides but not fully cooked through. Transfer chicken and accumulated juices to a plate and set aside.
03 - Add remaining 1 tbsp butter to the same skillet over medium heat. Sauté chopped onions for 3-4 minutes until softened and golden brown. Add minced garlic and grated ginger, stirring constantly for 1 minute until fragrant and raw aroma dissipates.
04 - Sprinkle coriander, paprika, and cayenne over the aromatics. Toast spices for 30 seconds, stirring continuously to prevent burning. Pour in crushed tomatoes and sugar, stirring to combine. Reduce heat to medium-low and simmer for 5 minutes until mixture thickens slightly.
05 - Return browned chicken and any accumulated juices to the skillet. Stir gently to coat chicken in the sauce. Simmer uncovered for 8-10 minutes over medium heat until chicken is cooked through and sauce reaches desired consistency.
06 - Reduce heat to low. Pour in heavy cream while stirring gently to incorporate. Simmer for 2 minutes until sauce is creamy and heated through. Taste and adjust salt as needed. Remove from heat immediately to prevent cream from separating.
07 - Transfer butter chicken to a serving dish or individual plates. Sprinkle with chopped fresh cilantro. Serve immediately while hot, accompanied by steamed basmati rice or warm naan bread for scooping up the sauce.