In a large bowl, combine 0.5 cup plain yogurt, 2 cloves minced garlic, 1 tbsp grated ginger, 1 tbsp garam masala, 1 tsp turmeric, 1 tsp chili powder, 1 tsp salt, and 1 tbsp lemon juice. Add the 24 oz chicken pieces, coat thoroughly, and marinate for at least 30 minutes.
Heat 1 tbsp vegetable oil in a large skillet over medium-high heat. Add the marinated meat in batches, searing until browned (about 5-7 minutes). Remove from the pan and set aside.
In the same skillet, melt 2 tbsp butter over medium heat. Add 1 diced large onion and sauté for 5 minutes until soft. Stir in 3 cloves minced garlic, 1 tbsp grated ginger, 1 tbsp garam masala, 1 tsp ground coriander, and 1 tsp ground cumin. Cook for 1 minute until fragrant.
Pour in 12 oz tomato puree. Bring the mixture to a simmer and cook for 10 minutes, allowing the sauce to reduce slightly and the flavors to meld.
Stir in 0.5 cup heavy cream. Return the browned meat to the skillet. Simmer gently for 10-15 minutes until the meat is fully cooked through and the sauce is thick.
Remove from heat. Garnish with 0.25 cup chopped fresh cilantro and serve hot over basmati rice.