In a large bowl, combine the yogurt, lemon juice, cumin, coriander, turmeric, garam masala, salt, and black pepper. Add the chicken pieces and mix until well coated. Cover and marinate in the refrigerator for at least 1 hour, or overnight for best flavor.
Heat the vegetable oil in a large skillet over medium heat. Add the chopped onion and sauté until it becomes translucent, about 5 minutes. Stir in the garlic and ginger, cooking for an additional minute until fragrant.
Add the marinated chicken to the skillet, cooking until the chicken is browned on all sides, about 5-7 minutes.
Pour in the tomato sauce and bring to a simmer. Reduce the heat to low and let it cook for 15 minutes, stirring occasionally.
Stir in the heavy cream and simmer for another 5 minutes until the sauce thickens slightly. Adjust seasoning with salt and pepper if needed.
Serve the chicken tikka masala hot, garnished with fresh cilantro. Enjoy with rice or naan bread.