Indian Butter Chicken Recipe: Tomato-Cream Sauce That Carries Spice Deeply

Indian Butter Chicken Recipe: Tomato-Cream Sauce That Carries Spice Deeply

This Indian butter chicken recipe delivers the rich, aromatic flavors of a classic North Indian dish that balances spice with creamy tomato sauce.

Growing up in small-town Georgia, I never imagined I’d master the art of blending yogurt marinades with slow-cooked spices—yet here we are, transforming tender chicken into a restaurant-quality masterpiece. The secret lies in patience: letting the marinade work its magic overnight while building layers of flavor in the sauce.

What sets this recipe apart is the precise balance of spices—garam masala, cumin, and coriander—that infuse the chicken deeply during the marinating and grilling process. The sauce itself is a harmonious blend of tomatoes, cream, and butter, creating that signature velvety texture that carries the spice without overwhelming heat.

Every bite delivers melt-in-your-mouth chicken smothered in a sauce that’s both complex and comforting.

The result is a dish that feels like a hug on a plate—warm, fragrant, and deeply satisfying. Served with basmati rice or naan, it becomes a complete meal that transports you to the streets of Delhi while remaining approachable for home cooks.

This recipe proves that authentic Indian flavors don’t require shortcuts; they demand technique and time.

For those who prefer a lighter version, we’ll explore how to reduce the cream while maintaining that signature richness. The key is in the sauce reduction—where tomatoes and spices marry to create the foundation of this iconic dish.

Let’s bring the flavors of India to your kitchen with precision and care.

👨‍🍳
Difficulty
Hard
🍗
Diet
Poultry
🔥
Calories
Med Cal

Ingredients for indian butter chicken

Rich spices, tender chicken, and velvety sauce—this recipe delivers authentic Indian flavors with pantry staples and a few specialty touches.

Ingredient Amount Notes
Boneless, Skinless Chicken Thighs 🍗 1 ½ lb Cut into 1-inch pieces
Plain Yogurt 🥛 1 cup Full-fat for creaminess
Greek Yogurt 🥛 ¼ cup For extra tanginess
Lemon Juice 🍋 2 tbsp Freshly squeezed
Ginger 🌿 1 tbsp Freshly grated
Garlic Cloves 🧄 6 cloves Minced for marinade
Garam Masala 🌶️ 1 tbsp High-quality blend
Ground Cumin 🌿 1 tsp Toasted for depth
Ground Coriander 🌿 1 tsp Freshly ground preferred
Turmeric Powder 🌶️ ½ tsp Bright yellow color
Kashmiri Red Chili Powder 🌶️ ½ tsp Mild heat, vibrant color
Salt 🧂 1 tsp Diamond Crystal preferred
Tomatoes 🍅 1 ½ lb San Marzano canned preferred
Heavy Whipping Cream 🥛 ½ cup Full-fat for richness
Unsalted Butter 🧈 4 tbsp European-style preferred
Fresh Fenugreek Leaves 🌿 ¼ cup Optional, for authentic taste
Fresh Cilantro 🌿 ¼ cup Chopped for garnish

The chicken thighs are non-negotiable here—they stay juicier during the long marinating and slow cooking than breasts. Look for bone-in, skin-on thighs from the butcher section if possible—they yield more flavor. For the yogurt, full-fat Greek yogurt plus regular yogurt creates the perfect tangy base. Whole Foods or Indian specialty stores carry the best garam masala blends, but Penzeys online is a solid backup. Fresh fenugreek leaves? South Asian markets have them in the refrigerated section—use them if you can find them, but the dish still shines without.

No garam masala? Mix 1 tsp each cumin, coriander, cinnamon, cardamom, and cloves as a substitute. Running low on tomatoes? San Marzano canned tomatoes are worth the splurge—they’re sweeter and less acidic. The Kashmiri red chili powder is key for that signature color; if you can’t find it, regular paprika plus a pinch of cayenne works. For a lighter version, reduce the cream to 0.25 cup and add 1 tbsp tomato paste to intensify the flavor. The butter matters too—European-style unsalted butter has more fat content for that signature richness.

Marinate the chicken overnight for maximum flavor. Store the marinade in an airtight container in the fridge for up to 2 days. The cooked chicken with sauce keeps for 4-5 days in the fridge, or 3 months frozen. Reheat gently on the stove with a splash of water to restore creaminess. I always make extra sauce—it freezes beautifully for quick weeknight dinners. Serve with basmati rice or store-bought naan for the full experience.

❤️

Why You’ll Love This Recipe

  • Marinate While You Nap: I swear by the yogurt-ginger marinade—just toss the chicken in a bowl with plain yogurt, Greek yogurt, lemon juice, and grated ginger, then let it sit. No stirring required. By the time you wake up (or finish your show), the chicken’s already tender and infused with that tangy, spiced goodness.
  • Creamy Without the Hassle: The secret’s in the sauce—rich, velvety, and so simple. Blend yogurt, butter, and a touch of ginger into a smooth base, then simmer it with the chicken until it clings like a dream. No roux, no fuss, just that perfect balance of cool and warm.
  • Weeknight to Party Ready: Same recipe, different vibes. Serve it with naan for a lazy Tuesday, or plate it over basmati rice with a side salad for dinner guests. The leftovers? Even better the next day—just reheat and devour.
  • Budget-Friendly Luxury: Chicken thighs stretch further than breasts, and yogurt’s cheaper than you’d think. A single batch feeds four, and the flavors only get deeper as it sits. Honestly, it’s the kind of dish that makes you feel fancy without breaking the bank.

Step-by-step instructions for Indian butter chicken

Here’s the method that delivers restaurant-quality butter chicken with tender chicken and rich, aromatic sauce.

1

Marinate the Chicken

Cut the 1.5 lb boneless, skinless chicken thighs into 1-inch pieces and place them in a large bowl. Add the 1 cup plain yogurt, 0.25 cup Greek yogurt, 2 tbsp lemon juice, 1 tbsp freshly grated ginger, 6 minced garlic cloves, 1 tbsp garam masala, 1 tsp ground cumin, 1 tsp ground coriander, 0.5 tsp turmeric powder, 0.5 tsp Kashmiri red chili powder, and 1 tsp salt. Mix thoroughly until the chicken is fully coated in the marinade.

Cover the bowl and refrigerate for at least 4 hours or overnight. This long marinating time is crucial—it tenderizes the chicken and allows the spices to penetrate deeply. The marinade should be thick and cling to the chicken pieces, creating a flavorful barrier that will caramelize beautifully during cooking.

2

Cook the Chicken

Preheat your oven to 375°F. Remove the marinated chicken from the refrigerator and let it sit at room temperature for 15 minutes to ensure even cooking. Transfer the chicken to a baking dish and roast for 25-30 minutes, stirring once halfway through, until the chicken is cooked through and the edges begin to brown. The internal temperature should reach 165°F—this is your key indicator of doneness.

Real talk: Don’t skip the stirring halfway through. This ensures the chicken cooks evenly and develops a nice caramelized crust from the marinade. If the chicken starts to brown too quickly, tent it loosely with foil to prevent over-browning while it finishes cooking.

3

Prepare the Tomato Sauce

While the chicken cooks, prepare the tomato base by combining the 1.5 lb tomatoes (peeled and chopped if using canned), 4 tbsp unsalted butter, and 0.25 cup fresh fenugreek leaves in a large saucepan. Cook over medium heat for 10-12 minutes, stirring occasionally, until the tomatoes break down into a thick, chunky sauce. You’ll see the mixture reduce and darken slightly—this is when the raw tomato flavor transforms into something rich and complex.

Add 1 tbsp garam masala and 1 tsp salt to the tomato sauce, then simmer for an additional 5 minutes. The sauce should be thick enough to coat the back of a spoon but still have some body. If it’s too thick, add a splash of water to reach your desired consistency. This step builds the foundation of your butter chicken—don’t rush it, as the flavors need time to meld.

4

Finish with Cream and Butter

Once the chicken is fully cooked, transfer it to a plate and set aside. In the same saucepan used for the tomato sauce, add the 0.5 cup heavy whipping cream and bring to a gentle simmer over low heat. Stir in 2 tbsp unsalted butter, letting it melt completely into the sauce. The mixture should become silky and rich—this is where the butter chicken gets its namesake creaminess.

Return the chicken to the sauce and simmer together for 5-7 minutes until the chicken absorbs the flavors and the sauce thickens slightly. The chicken should be coated in a glossy, vibrant sauce that carries all the spices deeply. If the sauce is too thin, simmer it uncovered for an additional 2-3 minutes to reduce it to your preferred consistency.

5

Garnish and Serve

Remove the butter chicken from heat and stir in the 0.25 cup chopped fresh cilantro. Let it sit for 2-3 minutes to allow the cilantro to infuse its freshness into the dish. Taste and adjust the seasoning if needed—you might want to add a pinch more salt or a dash of Kashmiri red chili powder to balance the flavors.

Serve immediately with basmati rice or naan bread. The butter chicken should be tender yet firm, with a sauce that clings beautifully to each piece. The aroma should be intoxicating—warm spices, creamy richness, and a touch of tang from the yogurt all coming together in every bite. Enjoy while it’s hot, as the flavors continue to develop as it cools.

👨‍🍳

Pro Tips For Making Indian Butter Chicken

  • MARINATE OVERNIGHT: I learned this the hard way—rushing the yogurt marinade leaves the chicken bland. Use a mix of plain yogurt (for tang) and Greek yogurt (for thickness), plus grated ginger and lemon juice. Let it sit at least 8 hours (or overnight if you can), covered in the fridge. The acid tenderizes the meat and deepens the flavor, so don’t skip it.
  • COOK CHICKEN LOW AND SLOW: After burning three batches, I finally figured out the right heat: start with medium-high to sear the edges, then drop to low and cover the pan. The chicken needs 15-20 minutes to cook through without drying out. If the sauce starts sticking, add a splash of water—but keep the lid on. Patience here makes the difference between rubbery and melt-in-your-mouth.
  • STRAIN THE YOGURT MARINADE: Sounds weird, but it works: before cooking, strain the yogurt marinade through a fine-mesh sieve or cheesecloth. This removes excess liquid, which can dilute your sauce later. The thicker the marinade, the richer the finished dish. (Yes, even if you’re impatient like me—just give it 10 minutes.)
  • USE BUTTER, NOT OIL, FOR THE SAUCE: My grandmother swore by this, and she was right: swap half the oil in the butter chicken sauce for actual butter. Add it at the end, off the heat, and let it melt into the sauce. The fat coats the chicken, making every bite creamy and luxurious. (Skip this when you’re lazy, but the dish is noticeably better when you don’t.)

Pro cooking tips for indian butter chicken

Marinade Mastery

The yogurt marinade is where the magic begins—this isn’t just a flavor step, it’s a tenderizing transformation. I’ve found that using full-fat Greek yogurt plus regular yogurt creates the perfect balance of tang and richness.

The key is letting it work its magic for at least 4 hours, but I always marinate overnight when possible. This long marinating time breaks down the chicken fibers and lets the spices—especially the garam masala—penetrate deeply.

Pro tip: Use a non-reactive glass bowl for marinating to prevent any metallic flavors from seeping in. 🌶️

Sauce Reduction Secrets

The tomato sauce is the heart of butter chicken, and proper reduction is everything. I always use San Marzano canned tomatoes because their natural sweetness and low acidity create a more complex base.

Cook the tomatoes over medium heat until they break down into a thick, chunky consistency—this usually takes 10-12 minutes. The moment you see the sauce darken slightly and reduce by about 30%, that’s when the raw tomato flavor transforms into something rich and aromatic.

Don’t rush this step; patience here prevents a watery sauce later.

Creamy Finish Technique

Adding the cream is where butter chicken gets its namesake richness, but timing is crucial. I always add the heavy whipping cream after the chicken is fully cooked and set aside.

Bring the cream to a gentle simmer over low heat—never boil it, as this can cause it to curdle. Stir in the 2 tbsp unsalted butter at the end to create that signature velvety texture.

The sauce should coat the back of a spoon but still be silky, not gluey. If it’s too thin, simmer it uncovered for 2-3 minutes to reduce slightly.

Chicken Cooking Control

Oven-roasting the chicken gives you better control than grilling for this dish. Preheat your oven to 375°F and let the chicken sit at room temperature for 15 minutes before cooking to ensure even doneness. Stir the chicken once halfway through cooking to promote even browning.

The internal temperature should reach 165°F—this is your key indicator of doneness. I always use a meat thermometer for accuracy. If the chicken starts browning too quickly, tent it loosely with foil to prevent over-browning while it finishes cooking.

Fenugreek Leaf Hack

Fresh fenugreek leaves add that authentic restaurant-quality depth to the sauce, but they’re often hard to find. If you can’t locate them at your local South Asian market, don’t skip the dish—it’ll still be delicious.

However, if you do have them, add them to the tomato sauce early in the cooking process. They’ll wilt and release their nutty, slightly bitter flavor that complements the creaminess perfectly.

I keep a small bag of dried fenugreek leaves in my pantry as a backup—just use 1 tsp dried instead of fresh.

Sauce Consistency Fixes

If your sauce ends up too thin after combining with the chicken, don’t panic. Simmer it uncovered for 2-3 minutes to reduce the liquid. For extra richness, stir in 1 tbsp additional butter or 1 tbsp heavy cream.

If it’s too thick, add 1-2 tbsp warm water or chicken broth to loosen it. The sauce should cling beautifully to the chicken without being gloppy. I’ve found that the European-style unsalted butter makes a noticeable difference in achieving that signature velvety texture compared to regular butter.

Nutrition facts

Servings 4
Amount Per Serving
Calories 580kcal
% Daily Value *
Total Fat 38g49%
Saturated Fat 24g120%
Cholesterol 210mg70%
Sodium 850mg37%
Total Carbohydrate 28g10%
Dietary Fiber 4g14%
Sugars 12g
Protein 42g84%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently asked questions

1

Can I use chicken breast instead of thighs for this recipe?

Chicken thighs are ideal because they stay juicier during the long marinating and slow cooking. If you must use breasts, pound them to ½-inch thickness and marinate for no more than 6 hours to prevent drying out. For best results, use a 50/50 mix of thighs and breasts to balance texture and moisture.

2

How do I make this recipe less creamy or dairy-free?

For a lighter version, reduce the cream to ¼ cup and add 1 tbsp tomato paste to intensify flavor. For dairy-free, substitute the cream with ½ cup coconut milk and use vegetable broth instead of water. Replace butter with olive oil or dairy-free butter, and ensure your yogurt is plant-based. The sauce will still be rich but with a different texture.

3

Why does my sauce turn out watery?

Watery sauce usually happens from two things: under-reducing the tomatoes or adding too much liquid when combining with chicken. Always cook the tomato base until it reduces by 30% and thickens to coat the back of a spoon. If the sauce is still thin after adding chicken, simmer uncovered for 2-3 minutes to evaporate excess moisture. For extra richness, stir in 1 tbsp additional butter.

4

Can I make butter chicken in a slow cooker?

Yes! After marinating the chicken, transfer it to a slow cooker and cook on low for 4-5 hours or high for 2-3 hours. For the sauce, prepare it separately in a saucepan (since slow cookers can’t handle high heat for reduction) and mix it with the chicken at the end. The chicken will be tender, but the sauce may need extra thickening with a cornstarch slurry if it separates.

5

What’s the best way to reheat leftovers?

Reheat butter chicken gently on the stove over low heat with 1-2 tbsp water or broth to restore creaminess. Avoid microwaving as it can make the sauce greasy. For extra flavor, add a splash of heavy cream or a pat of butter while reheating. Store leftovers in an airtight container for up to 5 days or freeze for 3 months.

★★★★★5.0(11 reviews)
Brandon Thompson