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

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

This Indian restaurant butter chicken recipe delivers the same rich, spiced tomato-cream sauce that makes the dish legendary. The secret lies in marinating the chicken overnight with yogurt and spices, then slow-cooking it until tender—just like the restaurants do.

I perfected this technique after years of testing, and the result is a dish that carries warm spice deeply into every bite.

The key to authentic flavor starts with the marinade, where yogurt tenderizes the chicken while yogurt and spices penetrate deeply. Then comes the sauce—a velvety blend of tomatoes, cream, and aromatic spices that coats each piece perfectly.

This isn’t just butter chicken; it’s the kind that makes you close your eyes and savor the balance of smoky, sweet, and tangy flavors.

By the time you serve this dish with warm naan and basmati rice, your table will feel like a true Indian restaurant experience. The sauce clings to the chicken like it’s been simmering for hours, and the spices—cinnamon, cardamom, and garam masala—infuse every bite with depth.

Trust me, once you taste this, store-bought versions won’t cut it.

This recipe scales beautifully for gatherings, and leftovers reheat just as well as the first serving. Garnish with fresh cilantro or toasted cashews for extra texture, and you’ve got a dish that’s restaurant-quality at home. Let’s get cooking.

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

Ingredients for indian restaurant butter chicken

Just 17 ingredients transform simple chicken into restaurant-worthy butter chicken.

Ingredient Amount Notes
Boneless, Skinless Chicken Thighs 🍗 1 ½ lb Cut into 1-inch pieces
Plain Yogurt 🥛 1 cup Full-fat preferred for creaminess
Garam Masala 🌶️ 1 tbsp Authentic blend preferred
Ground Cumin 🌿 1 tsp Toasted for deeper flavor
Ground Coriander 🌿 1 tsp Freshly ground preferred
Turmeric Powder 🧂 ½ tsp Bright yellow color
Red Chili Powder 🌶️ ½ tsp Adjust for heat preference
Fresh Ginger 🧅 2 tbsp Grated, not powdered
Yellow Onions 🧅 1 whole Finely chopped
Garlic Cloves 🧄 6 cloves Minced, not powdered
Tomatoes 🍅 1 ½ lbs Ripe, Roma preferred
Heavy Cream 🥛 1 cup Full-fat for richness
Butter 🧈 4 tbsp Unsalted, cubed
Cinnamon Sticks 🌿 2 whole For aroma infusion
Cardamom Pods 🌿 4 whole Lightly crushed
Salt 🧂 1 ½ tsp Adjust to taste
Fresh Cilantro 🌿 ¼ cup Chopped, for garnish

The chicken thighs are non-negotiable—bone-in, skin-on stays juicier, but boneless works too. Grab full-fat yogurt from the refrigerated section at Whole Foods or Trader Joe’s—it makes the marinade richer. For garam masala, MDH or Patanjali are my go-tos, but any authentic blend works. The ginger and garlic need to be fresh—no powdered substitutes. If you’re short on time, Costco’s pre-grated ginger is a lifesaver. The tomatoes? Roma or vine-ripened hold up best during cooking.

No garam masala? Mix 1 tsp each of cumin, coriander, turmeric, and cinnamon—it’s not identical, but close. Short on heavy cream? Half-and-half plus a splash of milk works in a pinch. The butter matters here—unsalted, European-style melts better. If you can’t find cardamom pods, ground cardamom at half the amount is fine. For the onions, yellow or red both work—just make sure they’re sweet, not bitter. The cilantro garnish is optional, but it adds that fresh finish that makes it feel special.

Marinate the chicken overnight—no exceptions. The sauce thickens as it cooks, so if it looks too thin after simmering, simmer uncovered for 5 more minutes. Leftovers keep for 4-5 days in the fridge, and the sauce actually gets better after a day or two. Freeze portions for up to 3 months. To reheat, add a splash of water or cream and warm gently—microwaving makes the sauce separate.

❤️

Why You’ll Love This Recipe

  • No Special Skills Needed: I swear, you don’t need to be a chef—just marinate the chicken in yogurt overnight (or even 4 hours if you’re in a rush), then toss it in a pan with those warm spices. The thighs stay juicy while the garam masala and cumin work their magic, and honestly? The hardest part is resisting seconds.
  • Restaurant-Level Depth: That yogurt marinade isn’t just for flavor—it tenderizes the chicken while the garam masala and ground coriander build layers of warmth and earthiness. The sauce? Creamy, slightly sweet, and just spicy enough to linger. Between us, this tastes like my favorite takeout spot, but with none of the guilt.
  • Weeknight to Party Fix: Make a double batch on Sunday and freeze half—it thaws beautifully for busy nights. Or serve it at your next gathering with naan and rice, and watch it disappear. My roommates still ask for it after three months of me “accidentally” cooking extra.
  • Budget That Packs Punch: Chicken thighs are cheap, yogurt’s a pantry staple, and those spices? A small jar lasts forever. For under $15, you get enough for four meals, and the leftovers reheat like a dream. I’ll be real: this is my go-to when I need to feed a crowd without breaking the bank.

Step-by-step instructions for Indian restaurant butter chicken

Here’s how to build that signature tomato-cream sauce with deep spice and velvety richness.

1

Marinate the Chicken in Yogurt and Spices

Cut the 1.5 lb boneless, skinless chicken thighs into 1-inch pieces and place them in a bowl. Add the 1 cup plain yogurt and mix until each piece is fully coated. In a small bowl, combine the 1 tbsp garam masala, 1 tsp ground cumin, 1 tsp ground coriander, 0.5 tsp turmeric powder, 0.5 tsp red chili powder, and 1.5 tsp salt. Sprinkle this spice mixture evenly over the chicken and stir gently to distribute. Cover and refrigerate for at least 1 hour, or up to 4 hours for deeper flavor penetration.

The yogurt helps tenderize the chicken while the spices begin to infuse. You’ll know it’s ready when the marinade looks vibrant and the chicken pieces are evenly coated. This step is crucial for that authentic restaurant taste—don’t skip it, even if you’re eager to cook.

2

Cook the Chicken Until Fully Tender

Heat 2 tablespoons of the 4 tbsp butter in a large, heavy-bottomed pot over medium-high heat. Once the butter foams, add the marinated chicken in a single layer, letting it sear undisturbed for 3-4 minutes until golden brown on one side. Flip the pieces and cook for another 3-4 minutes. Remove the chicken and set aside, leaving the rendered spices in the pot.

Here’s the thing—you want the chicken to develop a nice crust while staying juicy inside. If you see the marinade bubbling too aggressively, reduce the heat slightly to prevent burning. The chicken should cook to an internal temperature of 165°F, which will happen as it finishes in the sauce later. Keep the cooked chicken warm while you prepare the sauce.

3

Build the Tomato-Cream Base

In the same pot with the browned spices, add the 1 whole yellow onion (finely chopped), 2 tbsp fresh ginger (grated), and 6 cloves garlic (minced). Sauté for 5-6 minutes until the onions turn translucent and the garlic becomes fragrant. Add the 1.5 lbs tomatoes (chopped) along with the 2 whole cinnamon sticks and 4 whole cardamom pods (lightly crushed). Cook for 10-12 minutes until the tomatoes break down into a thick, jam-like consistency.

This is where the magic happens—the aromatics release their flavors while the tomatoes reduce, creating the rich base for your sauce. You’ll notice the spices infusing into the tomatoes, deepening their color and aroma. If the mixture looks too dry, add 2-3 tablespoons of water to help it cook down smoothly.

4

Finish with Cream and Butter

Reduce the heat to medium-low and stir in the 1 cup heavy cream and remaining 2 tbsp butter. Let the sauce simmer gently for 5-7 minutes until it thickens slightly and coats the back of a spoon. Return the cooked chicken to the pot, spooning the sauce over each piece to coat evenly. Simmer together for another 5 minutes, allowing the chicken to absorb all that creamy, spiced goodness.

The sauce should now be velvety with a perfect balance of tangy tomato, creamy richness, and warm spices. If it’s too thick, whisk in 1-2 tablespoons of water to reach your desired consistency. Taste and adjust the seasoning—you might need a pinch more salt or a touch of red chili powder to match your heat preference.

5

Garnish and Serve

Transfer the butter chicken to a serving dish and sprinkle with the 0.25 cup chopped fresh cilantro. Serve immediately with basmati rice or naan bread. The dish should be aromatic with layers of warm spices, the tangy-sweet tomato base, and the creamy richness that makes this dish so irresistible.

Here’s my pro tip: Let the sauce sit for 5 minutes after cooking—it will thicken slightly as it cools, creating that perfect cling to every bite of chicken. And trust me, the first bite will remind you of every great Indian restaurant you’ve ever visited.

👨‍🍳

Pro Tips For Making Indian Restaurant Butter Chicken

  • MARINATE LONGER THAN YOU THINK: I used to cut corners with a 30-minute yogurt marinade, but this dish needs at least 4 hours—overnight is even better. The acid in the yogurt breaks down the chicken fibers, making it tender enough to fall apart when you eat it, not chew it. (Yes, I’ve done the rushed version. You’ll taste the difference.)
  • STRAIN YOUR YOGURT: Skip the thick, tangy Greek yogurt—Indian restaurant butter chicken uses dahi for a reason. Strain plain yogurt through a cheesecloth for 30 minutes to remove excess liquid, or mix in 1 tablespoon of cornstarch per cup of yogurt. Too much moisture in the marinade means your chicken will steam instead of sear, and the sauce will turn watery.
  • SEAR IN BATCHES: Crowding the pan is how you end up with soggy, unevenly browned chicken. Work in single layers, and don’t rush—let each piece develop a crust before flipping. If your pan fills up with oil, drain half before adding the next batch. (Trust me, your future self will curse you if you skip this.)
  • SIMMER THE SAUCE LOW: After adding the tomato-onion base, crank the heat to boil off the alcohol (if using), then drop to a gentle simmer. Too much heat turns the sauce grainy, and the butter will separate like a sad, oily puddle. Stir often—this isn’t the time to walk away. The sauce should coat the back of a spoon like velvet, not splatter like a science experiment gone wrong.

Best sauces and condiments for this dish

Creamy Tomato Base

The heart of butter chicken lies in its tomato-cream sauce, where Roma tomatoes break down into a jammy consistency while absorbing the spices. I always use San Marzano tomatoes when available—they’re sweeter and less acidic, which balances the tangy cream perfectly.

For extra depth, add 1 tbsp tomato paste at the same time as the fresh tomatoes. This technique, borrowed from my time in Charleston, creates a richer, more complex flavor profile that stands up to the cream. 🍅

Spiced Yogurt Marinade

Don’t skip the yogurt marinade—it’s what gives restaurant-style butter chicken its tender texture and mild heat. I blend 1 cup full-fat Greek yogurt with 1 tbsp garam masala, 1 tsp cumin, and ½ tsp turmeric for a vibrant, aromatic marinade.

For extra richness, I sometimes add 1 tbsp melted ghee to the marinade. Let the chicken sit for at least 4 hours (overnight is ideal) to develop that signature smoky flavor from the spices. The yogurt also helps prevent the chicken from drying out during cooking.

Cream Variations

While heavy cream is traditional, I’ve experimented with alternatives that work surprisingly well. For a lighter version, use ½ cup heavy cream + ½ cup coconut milk—it adds a subtle sweetness that complements the spices beautifully.

If you’re avoiding dairy, cashew cream (blend 1 cup soaked cashews + ½ cup water) works as a neutral substitute. Just remember, these alternatives will change the sauce’s texture slightly—expect it to be a bit thinner than the traditional version. 🥛

Butter Enhancements

The 4 tbsp unsalted butter in this recipe isn’t just for flavor—it’s for creating that signature velvety finish. For an extra-luxurious version, I sometimes replace 2 tbsp of the butter with 2 tbsp brown butter at the end of cooking. The nutty, caramelized notes add another dimension to the sauce.

If you’re watching fat content, use 2 tbsp butter + 2 tbsp olive oil—just be aware the sauce will have a slightly different mouthfeel. The key is to add the butter at the very end so it melts smoothly into the sauce rather than separating.

Garnish Game-Changers

Fresh cilantro is the classic garnish, but I’ve found other toppings that elevate the dish. For a smoky touch, sprinkle ½ tsp smoked paprika just before serving. For crunch, toast 2 tbsp cashew pieces in a dry pan until golden and sprinkle on top.

My favorite restaurant-style finish? A mix of cilantro + toasted cashews + a pinch of chaat masala—it adds a tangy, slightly sweet contrast that makes the dish sing. Don’t be afraid to experiment with these garnishes to make the dish your own. 🌿

Sauce Thickness Control

The sauce should coat the back of a spoon but still be pourable. If it’s too thick after simmering, whisk in 1-2 tbsp warm water or chicken broth to reach your desired consistency.

For a restaurant-quality finish, I sometimes thicken the sauce further by simmering it uncovered for 2-3 extra minutes to evaporate excess liquid. The key is to taste as you go—adjust the seasoning with salt, red chili powder, or a pinch of sugar to balance the flavors.

Remember, the sauce will thicken slightly as it cools, so don’t over-thicken it while hot. 💡

Nutrition facts

Servings 4
Amount Per Serving
Calories 580kcal
% Daily Value *
Total Fat 42g54%
Saturated Fat 26g130%
Cholesterol 210mg70%
Sodium 920mg39%
Total Carbohydrate 22g8%
Dietary Fiber 3g11%
Sugars 10g
Protein 40g80%
* 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 breast works, but thighs are ideal for butter chicken because they stay juicier and absorb more flavor. If using breast, cut into ½-inch pieces and marinate for at least 4 hours (not overnight) to prevent drying. Cook at medium-low heat and remove from sauce when internal temp reaches 160°F—it’ll finish cooking in the sauce.

2

How do I make this dish less spicy?

Reduce the red chili powder to ¼ tsp or omit it entirely. For extra mildness, add ½ tsp sugar to balance any residual heat. The yogurt marinade naturally mellows the spices, so don’t skip it. If you still want warmth without heat, try ½ tsp smoked paprika instead of chili powder.

3

Can I prepare butter chicken in a slow cooker?

Brown the chicken first, then transfer everything (including sauce ingredients) to the slow cooker. Cook on low for 4-5 hours or high for 2-3 hours. The slow cooker keeps the chicken tender and sauce velvety. Just add the cream and butter at the end and simmer for 5 minutes to thicken.

4

What’s the best way to reheat leftovers?

Reheat gently in a saucepan with 1-2 tbsp water or cream over low heat for 3-4 minutes. Never microwave—it makes the sauce separate. For crispy texture, broil for 1-2 minutes after reheating. Leftovers actually improve overnight as flavors meld! Store for up to 4 days in the fridge.

5

Why does my sauce look curdled?

Curdling happens when acid (tomatoes) reacts with dairy (cream/butter) at high heat. Prevent it by adding cream only at the end and keeping heat medium-low. If it happens, whisk in 1 tbsp cornstarch mixed with 2 tbsp water to stabilize. For next time, reduce tomatoes slightly before adding cream.

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