Indian Butter Chicken

Ingredients:
1 lb (450 g) chicken thighs or breasts, cut into bite-sized pieces
1 cup plain yogurt
2 teaspoons garam masala
1 teaspoon ground turmeric
1 teaspoon ground cumin
1/2 teaspoon chili powder
Salt, to taste
2 tablespoons unsalted butter
1 large onion, finely chopped
3 garlic cloves, minced
1 tablespoon grated ginger
1 teaspoon ground coriander
1 teaspoon paprika
1/2 teaspoon ground cinnamon
1 can (14 oz) tomato puree
1 cup heavy cream
1 tablespoon sugar (optional)
Fresh cilantro, for garnish
Cooked rice or naan, for serving
Instructions:
In a bowl, mix yogurt, garam masala, turmeric, cumin, chili powder, and salt. Add the chicken pieces, toss to coat, and marinate for at least 1 hour or overnight in the refrigerator.
Heat butter in a large skillet over medium heat. Add the marinated chicken and cook until browned and almost cooked through. Remove and set aside.
In the same skillet, sauté onions until soft and golden. Add garlic, ginger, coriander, paprika, and cinnamon. Cook for 1-2 minutes until fragrant.
Stir in the tomato puree and simmer for 10 minutes.
Add the heavy cream and sugar (if using), stirring to combine. Return the chicken to the skillet and simmer for 10-15 minutes until the chicken is fully cooked and the sauce thickens.
Garnish with fresh cilantro and serve hot with rice or naan.