A Cozy, Flavor-Packed Butter Chicken for Home Cooks
If you’ve ever wanted to make restaurant-style butter chicken at home, this is the recipe I’d hand you first. It’s rich and silky, with a gently spicy tomato sauce, tender chicken, and just enough warmth to make every bite feel special.
I love this version because it keeps the classic comfort of butter chicken while leaning a little more into the spice. It’s still family-friendly, still wonderfully creamy, and still the kind of dinner that makes the whole kitchen smell irresistible.
What Makes This Butter Chicken So Good
The magic is in the balance: marinated chicken, a fragrant spice base, and a sauce that’s creamy without feeling heavy. A little extra chili brings the heat, while butter and cream round everything out.
- Deep flavor: yogurt, garlic, ginger, and spices help the chicken taste amazing before it even hits the pan.
- Silky sauce: tomato, butter, and cream create that signature velvety finish.
- Easy to customize: you can make it milder or spicier depending on your table.
Ingredients You’ll Need
Most of these are pantry-friendly if you cook Indian food often, and if not, they’re easy to find in most supermarkets.
For the marinade
- Chicken thighs for juiciness, or chicken breast if you prefer leaner meat
- Plain yogurt
- Ginger-garlic paste
- Ground turmeric, cumin, coriander, and chili powder
- Salt and lemon juice
For the sauce
- Butter
- Onion
- More ginger and garlic
- Tomato puree or passata
- Garam masala
- Kasuri methi, or dried fenugreek leaves
- Cream
- Fresh cilantro for finishing
How to Make Spicy Indian Butter Chicken
- Marinate the chicken. Mix yogurt, spices, ginger-garlic, lemon juice, and salt. Coat the chicken well and let it sit for at least 30 minutes, or overnight for the best flavor.
- Sear the chicken. Heat a little oil or butter in a skillet and cook the chicken until lightly charred and mostly cooked through. Remove and set aside.
- Build the sauce. In the same pan, melt butter and cook the onion until soft. Add ginger and garlic, then stir in the tomato puree and spices.
- Simmer until rich. Let the sauce cook down until it darkens slightly and loses its raw tomato taste. This step gives you that deep, restaurant-style flavor.
- Finish with cream and chicken. Add the chicken back to the pan, pour in cream, and simmer gently until everything is glossy and cooked through.
- Serve hot. Sprinkle with cilantro and a little extra chili if you want more heat.
Leena’s Helpful Tips
- Use chicken thighs if you want the juiciest result.
- Don’t skip the simmer on the sauce; it’s what makes the flavor round and full.
- Adjust the spice by reducing chili powder or adding more cream at the end.
- Kasuri methi matters if you can find it — it adds that unmistakable butter chicken aroma.
How to Serve It
Butter chicken is lovely with basmati rice, garlic naan, or even simple roti. I also like adding a quick cucumber salad or sliced onions on the side for freshness. If you’re hosting, this is one of those dishes that makes dinner feel generous and a little festive without much fuss.
And if you’re cooking for the week, the leftovers are even better the next day. The flavors settle in beautifully, making lunch something to look forward to.
Final Thoughts
This spicy Indian butter chicken is the kind of recipe that brings comfort and excitement to the table at the same time. It’s warm, creamy, and deeply satisfying, with just enough heat to keep every bite interesting. I hope it becomes one of those dishes you return to whenever you want to cook something memorable at home.
- 1
In a bowl, combine the chicken, yogurt, ginger-garlic paste, lemon juice, turmeric, coriander, cumin, chili powder, and salt. Mix well, cover, and marinate for at least 30 minutes or up to overnight in the refrigerator.
💡 A longer marinade gives the chicken deeper flavor and tenderness. - 2
Heat 1 tablespoon of butter in a large skillet over medium-high heat. Add the marinated chicken in batches and sear until lightly browned and nearly cooked through, about 5 to 7 minutes. Transfer to a plate.
💡 Do not overcrowd the pan; browning adds flavor. - 3
Reduce the heat to medium and add the remaining butter. Cook the onion until soft and golden, about 5 minutes. Stir in the ginger-garlic paste and cook for 30 seconds until fragrant.
- 4
Add the tomato puree, garam masala, and chili powder if using. Simmer for 10 to 12 minutes, stirring often, until the sauce thickens and the raw tomato taste cooks out. Add a splash of water if needed.
💡 The sauce should look glossy and slightly darker before adding cream. - 5
Stir in the crushed kasuri methi and heavy cream. Return the chicken to the pan and simmer gently for 8 to 10 minutes until the chicken is fully cooked and the sauce is silky.
💡 Keep the heat low after adding cream to prevent splitting. - 6
Taste and adjust salt or spice. Garnish with chopped cilantro and serve hot with basmati rice or naan.



