In a large bowl, whisk together the plain yogurt, garlic paste, ginger paste, 0.5 tbsp garam masala, Kashmiri chili powder, turmeric powder, lemon juice, and 1 tsp salt.
Add the chicken thighs to the marinade, tossing well to coat. Cover and refrigerate for at least 30 minutes.
Heat a large skillet over medium-high heat. Add 1 tbsp of unsalted butter. Cook the marinated chicken in batches until browned, about 5-6 minutes per side. Remove the chicken from the skillet and set aside.
In the same skillet, reduce the heat to medium. Melt the remaining 3 tbsp of butter. Add the tomato puree and simmer for 10 minutes until slightly thickened.
Stir in the heavy cream, the remaining 0.5 tbsp garam masala, and dried fenugreek leaves. Return the cooked chicken to the skillet.
Simmer for an additional 10 minutes until the chicken is cooked through and the sauce is rich and thick.
Garnish with fresh chopped cilantro and serve hot with naan bread.