In a large bowl, combine chicken thighs with yogurt, 1 tbsp garlic, 1 tbsp ginger, 1 tbsp garam masala, and chili powder. Marinate for at least 30 minutes.
Heat 2 tbsp of butter in a large skillet over medium-high heat. Brown the marinated chicken pieces for 5-6 minutes until cooked through. Remove from skillet and set aside.
In the same skillet, melt remaining 2 tbsp butter. Add diced onion and cook until translucent, about 5 minutes.
Stir in remaining 1 tbsp garlic, 1 tbsp ginger, and 1 tbsp garam masala. Cook for 1 minute until fragrant.
Pour in crushed tomatoes and simmer for 10-15 minutes until the sauce thickens slightly.
Reduce heat to low, stir in heavy cream, kasuri methi, and the cooked chicken. Simmer for another 5 minutes.
Garnish with chopped fresh cilantro and serve hot over cooked basmati rice.