Melt butter in a large skillet over medium heat.
Add chicken pieces and cook until lightly browned, about 5-7 minutes. Remove and set aside.
In the same skillet, add onion, garlic, and ginger. Sauté until soft and fragrant.
Stir in garam masala, cumin, turmeric, paprika, and chili powder. Cook for 1 minute to toast the spices.
Pour in tomato sauce and bring to a simmer. Add the cooked chicken back to the skillet.
Stir in heavy cream and Greek yogurt, mixing until smooth. Simmer for another 10 minutes until the sauce thickens.
Season with salt and pepper, then garnish with fresh cilantro.
Serve hot with basmati rice.