Step 1: Marinate the chicken
- In a large bowl, combine the yogurt, lemon juice, cumin, coriander, turmeric, chili powder, garam masala, and salt.
- Add the chicken pieces, ensuring they are well coated. Cover and refrigerate for at least 1 hour, or overnight for best results.
Step 2: Cook the chicken
- Heat a large skillet or grill pan over medium-high heat. Lightly grease with oil.
- Cook the marinated chicken pieces for 3-4 minutes per side until lightly browned but not fully cooked. Remove from heat and set aside.
Step 3: Make the sauce
- In the same skillet, melt the butter with the oil over medium heat. Add the onion and sauté until golden brown, about 5-7 minutes.
- Stir in the garlic and ginger and cook for 1-2 minutes until fragrant.
- Add the tomato puree, cumin, garam masala, chili powder, and cinnamon. Cook for 5 minutes, stirring occasionally, until the mixture thickens slightly.
Step 4: Simmer the chicken
- Add the partially cooked chicken to the sauce and stir to coat.
- Stir in the cream and simmer on low heat for 10-15 minutes, or until the chicken is tender and fully cooked.
- Add the remaining butter and sugar (if using) to enhance the sauce’s richness and balance the flavors. Adjust salt to taste.
Step 5: Garnish and serve
- Garnish with chopped fresh cilantro.
- Serve hot with basmati rice, naan, or roti.