In a large bowl, whisk together the yogurt, 1 tbsp minced garlic, 1 tbsp grated ginger, 1 tsp garam masala, turmeric, chili powder, lemon juice, and salt. Add the poultry pieces, coating them thoroughly. Cover and marinate in the refrigerator for at least 30 minutes, or up to 24 hours.
Heat 1 tbsp of ghee in a large skillet or heavy-bottomed pot over medium-high heat. Working in batches to avoid overcrowding, brown the marinated pieces for 3-4 minutes per side until charred on the edges. Remove the meat from the pan and set aside on a plate.
Reduce the heat to medium. Melt the remaining 1 tbsp of ghee in the same skillet. Add the chopped onion and sauté for 5 minutes until soft and golden brown. Stir in the remaining 1 tbsp of minced garlic and 1 tbsp of grated ginger, cooking for 1 minute until fragrant.
Sprinkle the cumin, remaining 1.5 tsp garam masala, and coriander powder into the pan. Stir constantly for 30 seconds to toast the spices.
Pour in the crushed tomatoes and chili flakes, scraping up any browned bits from the bottom of the pan. Bring the mixture to a gentle simmer, lower the heat, and cook for 10-15 minutes until the gravy thickens and darkens slightly.
For a silkier texture, use an immersion blender to carefully puree the gravy directly in the pan until smooth. (This step is optional but highly recommended).
Stir the heavy cream and crushed kasuri methi into the gravy. Return the browned meat and any resting juices back to the skillet. Simmer gently for 8-10 minutes until the meat is cooked through and tender.
Remove from heat. Garnish with a swirl of extra heavy cream and the chopped fresh cilantro. Serve immediately with warm naan and basmati rice.