01 - In a large mixing bowl, combine chicken, yogurt, lemon juice, garam masala, cumin, turmeric, chili powder, and salt. Coat evenly, cover, and refrigerate for at least 1 hour or up to overnight.
02 - Heat vegetable oil in a large skillet over medium-high heat. Add marinated chicken (discard excess marinade) and cook, turning occasionally, until lightly browned on both sides but not fully cooked, about 4 to 5 minutes. Remove chicken and set aside.
03 - In the same skillet, melt butter. Add chopped onion and sauté for 3 to 4 minutes until soft and translucent. Stir in minced garlic and grated ginger; cook for 1 minute until fragrant.
04 - Add ground coriander and paprika. Cook for 30 seconds, stirring constantly. Add crushed tomatoes, sugar, and salt. Stir well and simmer, uncovered, for 10 minutes, stirring occasionally.
05 - Return chicken and accumulated juices to the pan. Cover and cook for 12 to 15 minutes until chicken is cooked through and sauce is thickened.
06 - Stir in heavy cream and simmer another 3 to 4 minutes. Taste and adjust salt as needed.
07 - Sprinkle with chopped cilantro and swirl in additional cream if desired. Serve hot with naan or steamed basmati rice.