01 - In a large mixing bowl, combine yogurt, lemon juice, garam masala, ground cumin, ground turmeric, chili powder, and salt with the chicken pieces. Toss to coat evenly. Cover and refrigerate for at least 1 hour or up to overnight for optimal flavor.
02 - Heat vegetable oil in a large skillet over medium-high heat. Add marinated chicken, discarding any excess marinade. Sear on both sides until lightly browned but not fully cooked, approximately 4 to 5 minutes. Transfer chicken to a plate and set aside.
03 - In the same pan, melt unsalted butter over medium heat. Add chopped onion and cook for 3 to 4 minutes until softened. Stir in minced garlic and grated ginger, sautéing for 1 minute until fragrant.
04 - Add ground coriander and paprika to the pan, stirring for 30 seconds. Pour in crushed tomatoes, sugar, and salt. Simmer uncovered for 10 minutes, stirring occasionally, until slightly thickened.
05 - Return browned chicken and its juices to the skillet. Stir to coat, cover with a lid, and cook for 12 to 15 minutes until chicken is fully cooked and the sauce is rich and thick.
06 - Reduce heat to low and stir in heavy cream. Simmer for an additional 3 to 4 minutes. Taste and adjust salt if needed. Garnish generously with chopped cilantro before serving hot, accompanied by naan or rice.