In a large bowl, mix yogurt, 3 cloves minced garlic, 1 tbsp grated ginger, lemon juice, turmeric, and 1 tsp garam masala. Add chicken and marinate for at least 1 hour.
Heat 1 tbsp ghee in a large skillet over medium-high heat. Sear the marinated chicken until browned, about 5-6 minutes per side. Remove chicken and set aside.
In the same skillet, add the remaining 1 tbsp ghee. Sauté onions until translucent, about 5 minutes. Add the remaining 3 cloves garlic, 1 tbsp ginger, cumin, coriander, and 1 tsp garam masala. Cook for 1 minute until fragrant.
Pour in the tomato puree and simmer for 15 minutes, allowing the flavors to blend and the sauce to thicken.
Stir in the heavy cream and return the chicken to the skillet. Simmer for an additional 10 minutes until the chicken is cooked through (165°F internally). Serve hot.