A bowl of homemade butter chicken with a deep orange-red creamy tomato sauce, served over white basmati rice and garnished with fresh cilantro and a swirl of cream, with naan bread on the side

Butter Chicken Recipe That Finally Made Sense to Me

Quick Answer

Butter chicken is made by marinating chicken in spiced yogurt, searing it, then simmering it in a rich tomato-cream sauce seasoned with garam masala, fenugreek, and butter. The whole dish comes together in about an hour and is best served over basmati rice or with naan.

My coworker Priya ate lunch at her desk every day and it always smelled incredible. Not "that smells good" incredible — the kind where you pause mid-sentence and have to ask what that is. It was usually something she'd made the night before. Butter chicken was on the rotation often enough that I finally asked for the recipe.

She wrote it out on a notepad. I lost the notepad. I tried to reconstruct it from memory and what I got was a version of butter chicken that tasted like tomato soup with chicken in it. Mildly warming. No depth. The kind of thing you'd describe as "fine" in a tone that means you're evaluating your decisions.

The gap, once I understood it, came down to two things: blooming the spices in the butter before any liquid goes in, and the marinade. The chicken needs to marinate in yogurt and spices long enough to actually absorb something — not 20 minutes, but a few hours minimum. The fat and acid in the yogurt start tenderizing the meat while the spices penetrate it. Skip that step and you get chicken that happens to be in a flavorful sauce. Do it right and the chicken and sauce become one thing.

I remade it correctly about three weeks after the first attempt. Texted Priya to tell her it worked. She responded "which recipe did you use" and I said "yours." She did not respond after that, which I believe means I got it right.

Prep20 minutes
Cook45 minutes
Total65 minutes (plus 1–8 hours marinating time)
Serves4 servings
DifficultyMedium

Ingredients

  • 2 lbs boneless, skinless chicken thighs, cut into 1.5-inch pieces
  • 1 cup plain whole-milk yogurt
  • 1 tablespoon lemon juice
  • 1 teaspoon turmeric
  • 1 teaspoon garam masala
  • 1 teaspoon cumin
  • 1 teaspoon Kashmiri red chili powder (or mild paprika)
  • 1 teaspoon salt
  • 3 tablespoons neutral oil, divided
  • 3 tablespoons unsalted butter, divided
  • 1 medium yellow onion, finely diced
  • 6 garlic cloves, minced
  • 1 tablespoon fresh ginger, grated
  • 1 tablespoon tomato paste
  • 1 teaspoon garam masala
  • 1 teaspoon cumin
  • 1 teaspoon coriander
  • 1/2 teaspoon turmeric
  • 1/2 teaspoon Kashmiri red chili powder
  • 1 can (28 oz) crushed tomatoes
  • 1 teaspoon sugar
  • 1 cup heavy cream
  • 1 tablespoon dried fenugreek leaves (kasuri methi), crushed between your palms
  • Salt to taste
  • Fresh cilantro, for serving
  • Basmati rice or naan, for serving

Instructions

  1. 1In a large bowl, combine the yogurt, lemon juice, turmeric, garam masala, cumin, Kashmiri chili powder, and salt. Add the chicken pieces and toss until fully coated. Cover and refrigerate for at least 1 hour, or up to 8 hours. Don't skip this —? it's doing real work.
  2. 2When you're ready to cook, heat 2 tablespoons of oil in a large skillet or Dutch oven over medium-high heat. Working in two batches so you're not crowding the pan, sear the marinated chicken pieces for 3–4 minutes per side until charred in spots. The chicken doesn't need to be fully cooked through yet. Remove and set aside.
  3. 3In the same pan, reduce heat to medium. Add 1 tablespoon butter and the remaining 1 tablespoon oil. Add the diced onion and cook, stirring occasionally, for 8–10 minutes until soft and golden at the edges.
  4. 4Add the garlic and ginger. Cook for 2 minutes, stirring constantly, until fragrant. Add the tomato paste and cook for 1 more minute, pressing it into the onion mixture.
  5. 5Add the garam masala, cumin, coriander, turmeric, and chili powder. Stir and cook for 1 minute —? you want the spices to bloom in the fat before the tomatoes go in. The kitchen should start smelling like something is actually happening.
  6. 6Pour in the crushed tomatoes and add the sugar. Stir everything together, bring to a gentle simmer, and cook uncovered for 15 minutes, stirring occasionally, until the sauce has thickened and deepened in color.
  7. 7Return the seared chicken to the pan. Stir to coat, cover partially, and cook on medium-low heat for 10–12 minutes until the chicken is fully cooked through (internal temperature of 165°F).
  8. 8Reduce the heat to low. Add the remaining 2 tablespoons of butter and the heavy cream. Stir gently until fully incorporated. Do not let it boil. Add the crushed fenugreek leaves and stir. Taste and adjust salt.
  9. 9Let the sauce rest off heat for 5 minutes before serving. Serve over basmati rice or with warm naan, topped with fresh cilantro.

Pro Tips

  • Use chicken thighs, not breasts. Thighs stay juicy through the long simmer in a way that chicken breasts simply refuse to do, like a guest who leaves the party early no matter what you do.
  • Crush the dried fenugreek leaves (kasuri methi) between your palms before adding them. This releases the oils and makes the flavor about three times stronger. It's the step that makes the sauce taste like a restaurant made it.
  • If your sauce looks too thick before you add the cream, add a splash of water or chicken broth a tablespoon at a time. If it's too thin after the cream, just simmer it gently —? uncovered —? for a few extra minutes. Either direction is fixable, and that's the nicest thing I can say about this recipe.

Substitutions

heavy cream → full-fat coconut cream Use for a dairy-free version. It changes the flavor slightly toward coconut but still produces a rich, creamy sauce.
chicken thighs → paneer, cubed (about 14 oz) For a vegetarian version, sear the paneer in oil until golden, then add it in the same step you'd return the chicken.
Kashmiri red chili powder → mild paprika plus a small pinch of cayenne Kashmiri chili gives the sauce its deep red color without intense heat. This combo gets you close if you can't find it.
fresh ginger → 1 teaspoon ground ginger Fresh is strongly preferred for brightness, but ground ginger works in a pinch. Use less —? ground ginger hits harder.
whole-milk yogurt → dairy-free coconut yogurt Works for the marinade in a dairy-free version. Avoid thin, watery yogurt alternatives —? they won't cling to the chicken properly.

Storage Instructions

Store leftovers in an airtight container in the refrigerator for up to 4 days. The sauce thickens considerably when cold —? reheat gently on the stovetop over medium-low heat with a splash of water or cream to loosen it. Butter chicken also freezes well for up to 3 months; thaw overnight in the refrigerator before reheating.

Make Ahead

The chicken can be marinated up to 8 hours in advance. The full dish can be made 1–2 days ahead and refrigerated —? the flavor actually improves overnight as the spices deepen. Reheat gently on the stovetop over medium-low heat, stirring occasionally, and add a splash of cream or water if the sauce has thickened too much.

Frequently Asked Questions

What makes butter chicken different from tikka masala?

Butter chicken (murgh makhani) has a milder, slightly sweeter sauce built on butter, cream, and tomatoes with a gentler spice profile. Tikka masala is typically spicier and more complex, with a bolder tomato-forward flavor. Both use marinated grilled chicken, but butter chicken sauce is richer and silkier, while tikka masala tends to be more intense and less sweet.

Do I have to marinate the chicken overnight?

No, but you need at least 1 hour. The yogurt and acid from the lemon juice tenderize the chicken and help the spices penetrate the meat. A longer marinate —? up to 8 hours —? produces noticeably more flavorful, tender results. If you're short on time, 1 hour at room temperature will work better than 30 minutes in the refrigerator.

Why did my butter chicken sauce turn grainy or separated?

Almost always heat. Adding cream to a sauce that's boiling hard causes the fat to separate from the liquid. Reduce your heat to low before adding cream, and stir gently. The butter can also cause graininess if added when the sauce is too hot. Take the pan off the heat for 30 seconds, then add cream and butter while stirring slowly. This gives you the smooth, silky result you're after.

Can I make butter chicken in a slow cooker?

Yes, with one adjustment: still sear the marinated chicken in a skillet first, and cook down the onion, garlic, ginger, and spices on the stovetop before adding everything to the slow cooker. Add the tomatoes and chicken, and cook on low for 4–5 hours. Stir in the cream and fenugreek leaves in the last 20 minutes on low heat. Skipping the sear gives you less depth of flavor.

How do I store and reheat leftover butter chicken?

Store in an airtight container in the refrigerator for up to 4 days or freeze for up to 3 months. Reheat on the stovetop over medium-low heat, stirring occasionally. The sauce will thicken when cold, so add a small splash of water, broth, or cream to bring it back to the right consistency. Avoid microwaving on high heat —? it can cause the cream sauce to separate.

Can I make this dairy-free?

Yes. Substitute full-fat coconut cream for the heavy cream and use coconut yogurt in the marinade. Replace the butter with a neutral oil like avocado oil or a good vegan butter. The flavor shifts slightly —? you'll pick up a mild coconut note —? but the sauce is still rich, creamy, and satisfying. Make sure to use full-fat coconut cream, not coconut milk, or the sauce will be too thin.

What is kasuri methi and do I actually need it?

Kasuri methi is dried fenugreek leaves, and yes —? you need it. It's the ingredient that gives restaurant-style butter chicken its distinctive, slightly bitter, aromatic finish that rounds out the sweetness of the cream and tomatoes. You can find it at Indian grocery stores or online. There is no perfect substitute, though a small amount of dried thyme can approximate the bitterness in a pinch. It's worth tracking down.

Can I use chicken breasts instead of thighs?

You can, but thighs are strongly recommended. Chicken breast cooks faster and dries out quickly during the simmering stage, which can leave you with tough, stringy chicken in an otherwise beautiful sauce. If you use breasts, cut them slightly larger, sear carefully, and reduce the final simmer time to 7–8 minutes. Check for doneness at 165°F and pull them as soon as they hit it.