Combine the yogurt, lemon juice, garlic, ginger, garam masala, cumin, Kashmiri chili powder, turmeric, and salt in a bowl.
Add the chicken pieces to the marinade, stir to coat thoroughly, cover, and chill in the refrigerator for at least two hours.
Set your oven broiler to high and position an oven rack about 4 inches below the top heating element.
Arrange the marinated chicken pieces in a single layer on a foil-lined baking sheet.
Broil the chicken for 8 to 10 minutes until dark charred spots appear on the edges and top.⏱ 10 min
Heat the ghee in a large Dutch oven over medium heat until melted and shimmering.
Add the diced onion and cook for 8 to 10 minutes, stirring occasionally, until soft and golden brown.⏱ 10 min
Stir in the minced garlic and ginger, then cook for 1 minute until fragrant and softened.⏱ 1 min
Add the Kashmiri chili powder, coriander, cumin, and garam masala, stirring constantly for 30 seconds to toast spices.⏱ 30 sec
Pour in the crushed tomatoes, reduce heat to medium-low, and simmer gently for 15 minutes until sauce thickens.⏱ 15 min
Blend the tomato gravy with an immersion blender until smooth and velvety.
Stir the broiled chicken and accumulated juices into the simmering tomato sauce.
Cover the pot and simmer gently over low heat for 10 minutes until chicken is cooked through.⏱ 10 min
Stir in the heavy cream and crushed dried fenugreek leaves, simmering for 2 additional minutes.
Remove the pot from heat and scatter chopped fresh cilantro over the top before serving.