Melt butter in a pan over medium heat.
Add onions, garlic, and ginger, sautéing until fragrant.
Stir in garam masala, cumin, coriander, turmeric, and chili powder, cooking for 1 minute.
Add chicken and cook until browned.
Pour in tomato sauce, reduce heat, and simmer for 10 minutes.
Stir in cream and yogurt, cooking for another 5 minutes.
Season with salt and garnish with fresh cilantro.
Serve with rice or naan.