Mix plain yogurt, half the garam masala, half the garlic paste, and half the ginger paste in a bowl. Add chicken pieces and marinate for 30 minutes.
Melt 1 tbsp butter in a large skillet over medium-high heat. Brown the marinated chicken for 5-6 minutes until cooked through. Remove from skillet.
In the same skillet, melt the remaining 2 tbsp butter. Add remaining garlic and ginger paste, cooking for 1 minute until fragrant.
Stir in tomato puree, remaining garam masala, and salt. Simmer for 15 minutes until the sauce thickens slightly.
Lower heat, stir in heavy cream and dried fenugreek leaves. Return chicken to the sauce and simmer for 5 additional minutes.
Garnish with fresh herbs and serve hot alongside steamed white rice and baked naan bread.