01 - Combine chicken pieces with yogurt, lemon juice, turmeric, cumin, garam masala, chili powder, and salt in a large bowl. Mix thoroughly to coat evenly. Cover and marinate for at least 10 minutes or up to 1 hour for enhanced 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 to 6 minutes, turning occasionally, until lightly browned on all sides but not completely cooked through. Transfer chicken to a plate, reserving any juices.
03 - Add remaining 1 tablespoon butter to the same skillet. Sauté chopped onions for 3 to 4 minutes until soft and golden brown. Stir in minced garlic and grated ginger; cook for 1 minute until fragrant, being careful not to burn.
04 - Sprinkle coriander, paprika, and cayenne pepper over the aromatic base. Cook for 30 seconds to bloom the spices. Pour in crushed tomatoes and add sugar. Simmer for 5 minutes, stirring occasionally to prevent sticking.
05 - Return seared chicken and accumulated juices to the skillet. Lower heat to medium and simmer for 8 to 10 minutes, or until chicken is fully cooked through and sauce begins to thicken slightly.
06 - Reduce heat to low setting. Pour in heavy cream and stir gently to incorporate. Simmer for 2 additional minutes to allow flavors to meld. Season with salt to your taste preference.
07 - Transfer butter chicken to a serving dish or individual plates. Sprinkle generously with chopped fresh cilantro. Serve immediately alongside steamed basmati rice or warm naan bread for soaking up the sauce.