01 - Combine chicken pieces with yogurt, lemon juice, turmeric, cumin, garam masala, chili powder, and salt in a large bowl. Mix thoroughly to coat all pieces evenly. Cover and let marinate for at least 10 minutes, or up to 1 hour for deeper flavor penetration.
02 - Heat 1 tablespoon butter and vegetable oil in a large skillet over medium-high heat. Add marinated chicken pieces and cook for 5-6 minutes, turning occasionally, until lightly browned on all sides but not fully cooked through. Remove chicken from skillet and set aside, reserving any accumulated juices.
03 - Add remaining 1 tablespoon 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, stirring constantly to prevent burning.
04 - Stir in ground coriander, paprika, and cayenne pepper. Cook for 30 seconds to release essential oils. Pour in crushed tomatoes and add sugar. Simmer for 5 minutes, stirring occasionally, until mixture begins to thicken slightly.
05 - Return browned chicken and any reserved juices to the skillet. Reduce heat to medium and simmer for 8-10 minutes, or until chicken is cooked through and sauce has thickened to a creamy consistency.
06 - Reduce heat to low setting. Stir in heavy cream and simmer gently for 2 additional minutes, allowing flavors to meld. Taste and adjust salt as needed. The sauce should be rich and velvety.
07 - Transfer butter chicken to a serving dish or plate individually. Garnish generously with chopped fresh cilantro. Serve immediately while hot, accompanied by steamed basmati rice or warm naan bread for soaking up the sauce.