In a bowl, mix yogurt, half the garlic paste, half the ginger paste, 1 tsp garam masala, 1/2 tbsp chili powder, turmeric, lemon juice, and chicken. Marinate for 30 minutes.
Heat 1 tbsp of butter in a large skillet over medium-high heat. Brown the chicken pieces for 5-6 minutes until cooked through. Remove and set aside.
In the same skillet, melt the remaining 3 tbsp of butter. Add diced onion and cook until translucent. Stir in remaining garlic and ginger pastes, cooking for 1 minute.
Pour in tomato puree, remaining 1 tsp garam masala, and remaining 1/2 tbsp chili powder. Simmer for 10-15 minutes until the sauce thickens.
Return the cooked chicken to the skillet. Stir in heavy cream and crushed fenugreek leaves. Simmer for 5 minutes.
Garnish with chopped fresh cilantro and serve hot with basmati rice or naan.