Creamy Indian Butter Chicken (Creamy, Mild, in 45 Minutes)
Indian butter chicken turns an ordinary weeknight into something worth sitting down for. Tender chicken thighs soak up a buttery tomato-cream sauce that tastes slow-cooked, even though the whole dish comes together in one pan.

You don’t need a tandoor or a long grocery list. A quick yogurt marinade and a few warm spices build deep flavor while you go about your evening.
What Makes This Butter Chicken So Good
The sauce is the real star. Butter and cream give it that spoon-coating silkiness, and garam masala brings a gentle warmth that never overwhelms. It is mellow enough for kids but layered enough to feel like a treat.
A squeeze of lemon at the end cuts through the richness. That bright note keeps every bite balanced, so the dish never feels heavy. This is the version I keep coming back to when I want takeout vibes with zero fuss.
Ingredients

- 1 ½ lbs boneless skinless chicken thighs, cut into 1 ½-inch chunks: thighs stay tender and juicy, but breast works too if you shorten the simmer
- ¼ cup plain full-fat yogurt: yogurt tenderizes the chicken and clings just enough to the spices
- 3 tbsp unsalted butter, divided: part for searing, part for the sauce
- 1 small yellow onion, finely diced
- 3 garlic cloves, minced
- 1 tbsp grated fresh ginger
- 1 cup tomato puree (passata): canned puree gives the smoothest sauce; crushed tomatoes work in a pinch
- 2 tsp garam masala: the warm spice blend that defines butter chicken
- 1 tsp ground cumin
- 1 tsp ground coriander
- ½ tsp ground turmeric
- ½ tsp Kashmiri chili powder (or mild paprika): adds red-orange color without much heat
- ½ tsp fine sea salt, plus more to taste
- ½ cup water
- ½ cup heavy cream
- ½ lemon, juiced (about 1 ½ tbsp total, split between marinade and finishing)
- Small handful fresh cilantro leaves, for serving
Variations / Substitutions
- Chicken breast: use the same weight but cut simmer time to 10 to 12 minutes so it stays moist
- Tofu or paneer: swap in 14 oz firm tofu or paneer cubes and sear the same way; skip the simmer and just warm through in the finished sauce
- Dairy-free: use coconut yogurt in the marinade, coconut cream instead of heavy cream, and a neutral oil instead of butter; the sauce will be slightly sweeter and still creamy
- More heat: add one sliced green chili with the onion or double the chili powder
- Sharper tomato note: stir in ½ teaspoon sugar if your tomatoes taste acidic
- For a smokier cousin, try our Easy Chicken Tikka Masala.
How to Make Indian Butter Chicken
Step 1: Marinate the Chicken

In a large bowl, stir together the ¼ cup yogurt, 1 teaspoon of the garam masala, the turmeric, chili powder, ½ teaspoon salt, and the juice from about half of the lemon. Add the chicken pieces and toss until every piece is coated. Let it sit at room temperature for 15 minutes, or cover and refrigerate for up to 1 hour if you have the time.
The yogurt breaks down the meat just a little, keeping it tender through cooking. The marinade will look pale pink from the spices, and that is exactly how it should be.
Step 2: Sear the Chicken

Set a large skillet or Dutch oven over medium-high heat. Add 1 tablespoon of the butter and let it melt and sizzle. Working in batches so you don’t crowd the pan, lay the chicken pieces in a single layer and sear until deep golden on two sides, about 3 minutes per side. The chicken does not need to be cooked through yet; you are building that browned crust. Transfer the seared chicken to a plate and set it aside.
Those brown bits stuck to the bottom of the pan are pure gold. Do not wipe them out. They will dissolve into the sauce and give it a deep, savory backbone.
Step 3: Build the Sauce

Lower the heat to medium and add the remaining 2 tablespoons of butter to the same pan. Once it melts, stir in the diced onion and cook for 5 minutes, until soft and translucent. Add the grated ginger and minced garlic and cook for 1 minute more, just until fragrant. Pour in the tomato puree, the remaining 2 teaspoons garam masala, the cumin, coriander, and a good pinch of salt. Stir and let it bubble gently for about 5 minutes, until the sauce thickens and the spices smell deeply toasted.
You want the tomato mixture to darken a shade and look glossy. This step wakes up the ground spices, drawing out their warmth instead of leaving them dusty and flat.
Step 4: Simmer the Chicken

Return the seared chicken and any juices collected on the plate back to the pan. Pour in the ½ cup water, give everything a stir, and bring the sauce to a boil. Once it boils, reduce the heat to low, cover the pan, and let it simmer for 15 to 20 minutes. Stir once or twice during cooking. The chicken should be cooked through and the sauce will look slightly thickened and silky.
Taste the sauce around the halfway mark and add a little more salt if it needs it. The sauce will thicken further as it rests, so do not worry if it seems a bit thin at the end of simmering.
Step 5: Stir in the Cream and Serve

Turn off the heat. Pour in the ½ cup heavy cream and stir until the sauce turns a soft orange and feels velvety. Squeeze in the juice from the remaining lemon half and taste for seasoning. Scatter fresh cilantro leaves over the top and serve right away with steamed basmati rice or warm naan.
Tips for the Best Butter Chicken
- Kashmiri chili powder gives that restaurant-style red-orange color with hardly any heat. If you can find it, use it. Mild paprika is a fine stand-in.
- Do not skip the lemon at the end. A small hit of acid pulls the whole dish into focus and stops it from tasting too rich.
- If the sauce looks split or grainy, whisk it briskly for 20 seconds. The butter and tomatoes will come back together into a smooth, creamy sauce.
Storing Leftover Butter Chicken
- Refrigerate: in an airtight container for up to 4 days. The sauce thickens as it chills, so it may look firmer straight from the fridge.
- Reheating: warm it gently on the stove over low heat with a splash of water or a spoonful of cream. Stir often and keep the heat low so the cream does not break.
What to Serve With Butter Chicken
Fluffy basmati rice is the classic move; it soaks up every drop of the sauce. Warm naan or roti is perfect for tearing and scooping. A quick cucumber and red onion salad with a squeeze of lime adds fresh crunch and cuts through the richness.
Frequently Asked Questions
Can I use chicken breast instead of thighs?
Yes. Cut the simmer time to 10 to 12 minutes and check early so the meat stays juicy rather than drying out.
Is this dish very spicy?
No, it’s mild. The chili powder adds warmth more than heat. To turn up the heat, add a chopped green chili with the onion.
Can I make it dairy-free?
Yes. Use coconut yogurt for the marinade, coconut cream instead of heavy cream, and a neutral oil in place of butter. The flavor shifts a bit but the sauce stays creamy.
Can I freeze butter chicken?
Yes. Cool it completely, then freeze in a sealed container for up to 2 months. Thaw overnight in the fridge and reheat gently on the stove.

Indian Butter Chicken Recipe
Ingredients
Method
- Marinate the chicken with yogurt, 1 tsp garam masala, turmeric, chili powder, salt, and half the lemon juice. Let sit 15 minutes.
- Sear chicken in 1 tbsp butter over medium-high heat until browned on both sides, then set aside.
- In the same pan, cook onion in remaining butter until soft. Add ginger and garlic, cook 1 minute. Stir in tomato puree, remaining garam masala, cumin, coriander, and a pinch of salt. Cook 5 minutes until thick.
- Return chicken and juices to the pan. Add water, bring to a boil, then cover and simmer on low for 15 to 20 minutes until chicken is cooked through and sauce thickens.
- Off the heat, stir in heavy cream and remaining lemon juice. Adjust salt to taste, garnish with cilantro, and serve.
