In a large bowl, combine yogurt, lemon juice, cumin, coriander, garam masala, paprika, turmeric, and salt. Add chicken pieces, ensuring they are well coated. Cover and marinate in the refrigerator for at least 1 hour, or overnight for best flavor.
Heat vegetable oil in a large skillet over medium heat. Add chopped onion and sauté until soft and translucent, about 5 minutes.
Stir in garlic and ginger, cooking for an additional 1-2 minutes until fragrant.
Add the marinated chicken to the skillet, cooking until browned on all sides, about 5-7 minutes.
Pour in the tomato sauce and bring to a simmer. Cook for 10 minutes, allowing the flavors to meld.
Reduce heat to low and stir in the heavy cream. Simmer for another 5 minutes, adjusting seasoning if necessary.
Serve hot, garnished with fresh cilantro, alongside cooked rice or naan.