In a bowl, mix yogurt, lemon juice, cumin, garam masala, turmeric, chili powder, and a good pinch of salt. Add the chicken and coat it well. Let it marinate for at least 30 minutes – longer if you can.
Melt butter in a large skillet over medium heat. Add the chopped onion and sauté until soft and golden, about 5–7 minutes.
Stir in the garlic and ginger. Cook for 1–2 minutes until fragrant.
Pour in the tomato sauce and bring to a simmer. Let it cook for 10 minutes so the flavors get cozy.
Add the marinated chicken pieces to the skillet. Cook until the chicken is done through – about 15 minutes – stirring occasionally.
Lower the heat and slowly stir in the cream. Simmer gently for 5–10 more minutes, just enough for it to get nice and velvety.
Serve hot with rice or homemade butter bread. Sprinkle with fresh cilantro if you like!