In a large bowl, combine yogurt, lemon juice, and all the marinade spices. Add the chicken pieces, mix well, cover, and refrigerate for at least 1 hour (overnight gives the best flavour).
Heat a grill pan or skillet over medium-high heat. Cook the marinated chicken until lightly charred and cooked through, about 8–10 minutes. Set aside.
In a wide pan, melt butter and oil. Sauté onion until golden and soft, about 5 minutes.
Add garlic, ginger, and spices. Cook for another 30 seconds until fragrant.
Pour in crushed tomatoes and simmer for 10 minutes until the sauce thickens slightly.
Stir in the cream and return the chicken to the pan. Let it simmer for another 10–12 minutes until the sauce turns rich and creamy.
Taste and adjust the salt or spice level as you like.
Garnish with chopped coriander and serve warm with naan or rice.