The sauce clings to each piece of chicken, glossy and just thick enough to coat the rice without pooling. A yogurt marinade does the heavy lifting here, tenderizing the meat while the spices seep in, so every bite tastes seasoned, not just the surface. That’s the difference between good butter chicken and a bowl of bland curry.
Yogurt marinade’s double duty
Yogurt’s acidity gently tenderizes chicken without turning it mushy, even after an hour. The spices, turmeric, cumin, coriander, paprika, bloom in the marinade, their flavors penetrating deeper than a dry rub ever could.
An hour is the minimum; overnight steeping pushes those flavors all the way to the center. You’ll taste the difference in every bite: no bland pockets, just seasoned meat throughout.
That’s why this step isn’t skippable.
Building a balanced sauce base
Start with onions. Sautéing them until golden draws out natural sweetness that counters the tomato’s acidity.
Garlic and ginger go in after the onions are soft; a quick two-minute cook keeps them from turning bitter. Then the tomato sauce simmers for ten minutes, concentrating its flavor and mellowing the tart edge.
Each step layers in depth without fighting the others. Easy chicken recipes rely on this sequencing to avoid a harsh or one-note sauce. The result is a base that’s rich, not sharp.
Butter, cream, and garam masala at the end
Butter and cream cut the sauce’s acidity and give it that silky mouthfeel. Add them too early, and the cream may curdle or the fat separate.
Garam masala goes in last, right before serving, because its volatile aromatics dissipate fast with heat. You want that warm, spicy perfume intact.
Crushed fenugreek leaves, optional but traditional, add a subtle maple-like note that ties everything together. The finish isn’t just about taste; it’s the silky texture and lingering scent that define butter chicken.

Prep: 1 hr 15 min · Cook: 30 min · Total: 1 hr 45 min · Servings: 4
What to look for in butter chicken ingredients
Chicken breast: Cut into even bite sized pieces so they cook at the same rate during browning.
Plain yogurt: Use full fat yogurt; nonfat can curdle when heated with the marinade.
Tomato sauce: Plain tomato sauce, not seasoned pasta sauce or crushed tomatoes with herbs.
Heavy cream: Heavy cream with at least 36% butterfat prevents curdling when simmered.
Fenugreek leaves: Dried fenugreek leaves (kasuri methi) are crushed between your palm to release oils.
The first time I made this, I poured cold cream straight from the fridge into the simmering sauce and ended up with a curdled mess. By accident next time, I let the cream sit out while prepping and added it off the heat, it stayed silky.
Working through butter chicken step by step
Marinate the chicken
Combine yogurt, lemon juice, and spices in a bowl. Add chicken and coat well. Cover and refrigerate for at least 1 hour.
The yogurt should cling to the meat; if it slides off, the chicken isn’t fully coated.
Brown the chicken
Heat 1 tbsp oil over medium heat. Add chicken pieces in a single layer, don’t crowd. Brown on all sides, about 4 minutes total.
The surface should look seared, not gray. Remove and set aside.
Sauté aromatics
Add remaining 1/2 tbsp oil. Sauté onion until golden, about 5 minutes. Stir in garlic and ginger; cook 2 minutes.
The onion should be soft and translucent, with browned edges. If it burns, the sauce turns bitter.
Simmer the tomato sauce
Pour in tomato sauce. Simmer for 10 minutes, stirring occasionally. The sauce should thicken slightly and darken.
If it spatters, reduce heat. This is when fenugreek leaves can be added.
Finish the sauce
Return chicken to pan. Stir to coat. Add heavy cream and butter.
Stir until butter melts and sauce is creamy. Simmer 5 minutes, the sauce should bubble gently, not boil hard or the cream may curdle.
Add garam masala
Sprinkle garam masala over the chicken and stir. The aroma should be warm and fragrant.
If it smells flat, the masala may be old. Serve immediately.

Butter Chicken Recipe
Ingredients
- 1 lb chicken breast, cut into bite-sized pieces
- 1/2 cup plain yogurt
- 1 tbsp lemon juice
- 1 tsp ground turmeric
- 1 tsp ground cumin
- 1 tsp ground coriander
- 1/2 tsp ground paprika
- 1/2 tsp salt
- 1 1/2 tbsp vegetable oil
- 1 medium onion, finely chopped
- 2 cloves garlic, minced
- 1 thumb-sized piece ginger, minced
- 1 can (200 ml) tomato sauce
- 1/2 cup heavy cream (or more to taste)
- 3 tbsp butter
- 1/2 tsp garam masala
- 1 tsp fenugreek leaves, crushed (optional)
- Fresh cilantro, chopped (for garnish)
Instructions
Marinate the Chicken:
Combine yogurt, lemon juice, turmeric, cumin, coriander, paprika, and salt in a bowl. Add chicken pieces and toss to coat thoroughly. Cover and refrigerate for at least 1 hour or overnight.Brown the Chicken:
Heat 1 tbsp vegetable oil in a large pan over medium heat. Brown the marinated chicken on all sides. Remove chicken from the pan and set aside.Sauté Onion and Aromatics:
Add the remaining 1/2 tbsp oil to the same pan. Sauté the finely chopped onion until golden. Stir in minced garlic and ginger; cook for 2 minutes.Simmer Tomato Sauce:
Pour in the tomato sauce. Simmer for about 10 minutes, stirring occasionally. If using, add fenugreek leaves during this step.Combine Chicken with Cream:
Return the cooked chicken to the pan. Mix well to coat with the sauce. Pour in the heavy cream and add the butter. Stir until the butter melts and the sauce becomes creamy.Finish with Garam Masala:
Simmer for an additional 5 minutes. Sprinkle garam masala over the chicken and stir. Garnish with fresh cilantro before serving. Serve over warm Basmati rice.

What swaps work and what doesn’t in butter chicken
Chicken breast: Boneless skinless chicken thighs. Thighs stay juicier than breast because they have more fat. Cut them into the same bite-sized pieces.
Brown them the same way, but expect a richer, more tender result.
Heavy cream: Coconut cream (full-fat). Coconut cream makes the sauce dairy-free and adds a subtle coconut flavor that plays well with the spices.
It won’t curdle. Use the same amount as heavy cream.
Fenugreek leaves (kasuri methi): Skip or substitute with a pinch of maple syrup + 1/4 tsp ground fennel seed. Fenugreek gives a unique maple-like, slightly bitter note.
Without it, the dish will still taste good but lose that signature depth. The substitute approximates the sweetness and aroma, but not exactly. Better to find fenugreek leaves.
Plain yogurt: Greek yogurt (full-fat). Greek yogurt is thicker, so it clings better to the chicken. No other change needed, use the same amount.
The marinade works identically.
Storage and Serving
Butter chicken is best served within 30 minutes of adding the garam masala and cilantro garnish. The aromatics fade quickly, so eat it right away.
Leftovers keep in an airtight container in the fridge for up to 3 days. The sauce thickens as it sits, so when reheating, stir in a splash of cream or water to bring back the silky texture. Reheat gently on the stovetop or in short bursts in the microwave; don’t boil or the cream can separate.
Freezing is not recommended: the dairy sauce can break upon thawing, and the chicken turns grainy. Instead, freeze the marinated raw chicken for up to 3 months, then cook fresh sauce when ready.
Tips
- Toast whole cumin and coriander seeds in a dry pan over medium heat until fragrant, then grind them yourself. Pre-ground spices lose volatile oils quickly; toasting and grinding fresh gives a brighter, more complex flavor that stands out even after the marinade and sauce.
- If using fenugreek leaves, crush them between your palms just before adding to the sauce. This releases their essential oils, which are otherwise trapped in the dried leaves. Without crushing, the leaves add texture but little aroma, missing the signature maple-like note.

Frequently Asked Questions
Can I make butter chicken ahead of time and reheat it?
Yes, but don’t add the garam masala or cilantro garnish until just before serving. The sauce thickens in the fridge, so when reheating, stir in a splash of cream or water to restore its silky texture. Reheat gently on the stovetop or in short microwave bursts; boiling will cause the cream to separate.
Why does my butter chicken sauce sometimes separate or look grainy?
Most likely the cream was added to a boiling-hot sauce or was simmered too vigorously. The sauce should bubble gently after adding cream and butter. Another cause: using low-fat yogurt in the marinade, full-fat yogurt and heavy cream with at least 36% butterfat are more stable.
What is the difference between butter chicken and chicken tikka masala?
Butter chicken starts with marinated chicken that’s browned in a pan (not grilled), then simmered in a creamy tomato sauce finished with butter and garam masala. Chicken tikka masala uses yogurt-marinated chicken that’s grilled or baked before being added to a spiced tomato-cream sauce, often with more assertive spices and no fenugreek leaves.
