
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.
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.
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.
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.
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.
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.
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
Frequently asked questions
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.
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.
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.
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.
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.
- Crispy Chicken Fingers Recipe: Air-Fryer Magic With Zero Oil Mess - October 30, 2026
- Breaded Chicken Breast Recipe: Crispy Parmesan Crunch Without Deep-Frying - October 30, 2026
- Chicken Puff Recipe: Air-Crispy Bites With Zero Oil Mess - October 30, 2026