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 marinate for at least 10 minutes, or up to 1 hour for deeper flavor penetration.
02 - Heat 1 tbsp butter and oil in a large skillet over medium-high heat. Add marinated chicken pieces and cook for 5-6 minutes, turning occasionally until lightly browned but not fully cooked through. Remove chicken from skillet and set aside, reserving any juices.
03 - Add remaining 1 tbsp butter to the same skillet. Sauté chopped onions for 3-4 minutes until soft and golden brown. Add minced garlic and grated ginger; cook for 1 minute until fragrant, being careful not to burn.
04 - Stir in ground coriander, paprika, and cayenne pepper if using. Toast spices for 30 seconds to release their oils. Add crushed tomatoes and sugar; simmer for 5 minutes, stirring occasionally to allow flavors to meld.
05 - Return browned chicken and any accumulated juices to the skillet. Simmer uncovered for 8-10 minutes, or until chicken is cooked through and sauce begins to thicken slightly.
06 - Reduce heat to low. Stir in heavy cream and simmer gently for 2 minutes to incorporate. Adjust salt to taste. The sauce should be rich and velvety.
07 - Remove from heat. Serve immediately, generously garnished with fresh chopped cilantro. Accompany with steamed basmati rice or warm naan bread for soaking up the sauce.