
This Indian chicken makhani recipe delivers the restaurant-quality buttery tomato cream and charred spice depth you crave—without the shortcuts that compromise flavor.
I perfected this technique after years of studying tandoori traditions, and the secret lies in marinating the chicken overnight while building a sauce that balances sweet, tangy, and smoky notes. The result is tender, charred chicken swimming in a velvety sauce that clings to every bite.
What sets this recipe apart is the two-stage cooking process: first, the chicken develops a smoky char from high-heat searing, then simmers in the sauce until perfectly tender. The sauce itself requires patience—tomatoes reduce into a thick, jam-like consistency while spices bloom in ghee for maximum depth.
This isn’t a quick weeknight meal, but the payoff is worth every minute of attention.
By the time you serve this dish, your kitchen will smell like an Indian restaurant‘s back room, and your guests will never guess it wasn’t made in a tandoor. The sauce clings to the chicken like a second skin, balancing rich cream with bright tomato acidity and warm spices.
Serve with basmati rice or garlic naan to soak up every last drop of that luxurious sauce.
For authenticity, I recommend using bone-in chicken thighs—they stay juicier during the long cooking process, and the flavor infuses the sauce even more deeply. The recipe scales beautifully, so double it for gatherings. Here’s how to bring this classic dish to your table with professional results.
Ingredients for indian chicken makhani
Authentic makhani flavor starts with these 17 ingredients—bone-in thighs, ghee, and tomatoes form the flavor foundation.
| Ingredient | Amount | Notes |
|---|---|---|
| Bone-In Chicken Thighs 🍗 | 1 ½ lb | Skin-on, trimmed of excess fat |
| Ghee 🧈 | ½ cup | Clarified butter for richness |
| Yogurt 🥛 | ½ cup | Plain, full-fat preferred |
| Garlic Cloves 🧄 | 6 cloves | Minced for marinade |
| Ginger 🌿 | 2 tbsp | Freshly grated |
| Lemon Juice 🍋 | 2 tbsp | Freshly squeezed |
| Ground Cumin 🌿 | 1 tbsp | Toasted for depth |
| Ground Coriander 🌶️ | 1 tbsp | Freshly ground preferred |
| Turmeric Powder 🌿 | ½ tsp | Freshly ground preferred |
| Red Chili Powder 🌶️ | 1 tbsp | Adjust for heat preference |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Canned Crushed Tomatoes 🍅 | 28 oz | San Marzano preferred |
| Heavy Cream 🥛 | ½ cup | Full-fat for richness |
| Butter 🧈 | 2 tbsp | Unsalted, cubed |
| Fresh Cream 🥛 | ¼ cup | Or substitute heavy cream |
| Cassia Cinnamon 🌿 | ½ tsp | Ground, not stick |
| Cardamom Pods 🌿 | 4 whole | Lightly crushed |
Bone-in chicken thighs are non-negotiable here—they stay juicier during the long marinating and cooking process. Indian grocery stores like Patel Brothers or Patel Brothers online carry the best quality, but your regular supermarket’s butcher section works too. Look for thighs with good marbling but not excessive fat. The ghee? Gujarat or Amul brands are ideal, but any good-quality ghee will do. If you can’t find it, unsalted butter melted and strained works in a pinch. For the tomatoes, San Marzano cans are worth the splurge—they’re sweeter and less acidic than regular crushed tomatoes.
No ghee? Unsalted butter works fine, but it burns easier. Running short on cardamom? Skip it or use 1/4 tsp ground cardamom—it’s not traditional but still delicious. Fresh ginger and garlic are ideal, but dried powdered ginger at half the amount gets you close. The yogurt should be plain and full-fat—Greek yogurt works too. If you’re lactose intolerant, use coconut yogurt. The crushed tomatoes can be fresh if you’re feeling ambitious—just blend canned tomatoes with a little water to achieve the same consistency.
Marinated chicken keeps 2 days in the fridge, but the sauce is best made fresh. The finished dish reheats beautifully—just warm gently on the stove with a splash of water to prevent drying. It keeps 4 days in the fridge or 3 months frozen. I always make extra sauce—it’s perfect for sandwiches or wraps the next day. Store in airtight containers with a layer of plastic wrap pressed directly on the sauce surface to prevent a skin from forming.
Why You’ll Love This Recipe
- One-Pot Magic: I swear by this—just marinate the thighs overnight (or even 30 minutes if you’re impatient), then toss everything into one pot. The ghee renders the fat right out, leaving you with golden, saucy chicken without a single extra dish to wash.
- Butter-Like Love: That yogurt-ghee combo? It’s where the real magic happens. The ginger and garlic caramelize into something so rich, it tastes like you slaved for hours—even though you didn’t. Honestly, the first bite makes me pause mid-chew.
- Leftovers That Don’t Suck: Makhani stays ridiculously good reheated—better, even. Toss it in a wrap for lunch, stir-fry it with rice, or just eat it straight from the fridge. (Yes, even on a Tuesday.) Plus, bone-in thighs stretch every dollar, so you’re not breaking the bank for flavor.
Step-by-step instructions for Indian chicken makhani
Here’s the method that delivers restaurant-quality makhani with tender chicken and velvety tomato cream.
Marinate the Chicken Overnight
In a large bowl, combine the 1.5 lb bone-in chicken thighs, 0.5 cup yogurt, 1 tbsp ground cumin, 1 tbsp ground coriander, 0.5 tsp turmeric powder, 1 tbsp red chili powder, 1.5 tsp salt, 6 cloves minced garlic, 2 tbsp freshly grated ginger, and 2 tbsp lemon juice. Mix thoroughly until the chicken is fully coated in the marinade.
Cover the bowl and refrigerate for at least 8 hours or overnight. This long marinade time ensures the chicken stays incredibly tender while absorbing all the aromatic spices. The acidity from the yogurt and lemon juice will also help break down the proteins, guaranteeing melt-in-your-mouth texture. Don’t skip this step—it makes all the difference in the final result.
Char the Spices and Cook the Chicken
Heat 0.5 cup ghee in a heavy-bottomed Dutch oven over medium-high heat. Add the marinated chicken thighs, skin-side down, and cook undisturbed for 5-6 minutes until the skin becomes golden brown and crispy. Flip the chicken and cook for another 5-6 minutes until the skin is evenly browned and the chicken is cooked through.
While the chicken cooks, carefully remove the chicken and set it aside. In the same pot, add the 4 lightly crushed cardamom pods and 0.5 tsp cassia cinnamon, and let them toast for 30 seconds until fragrant. This step adds depth to the sauce—don’t skip it. Add the 28 oz canned crushed tomatoes and bring to a gentle simmer, stirring occasionally for 10 minutes until the tomatoes break down into a thick, chunky sauce.
Build the Creamy Tomato Base
Return the chicken to the pot and pour in 0.5 cup heavy cream and 0.25 cup fresh cream. Stir gently to combine, then reduce the heat to low. Let the sauce simmer uncovered for 15-20 minutes, stirring occasionally, until it thickens into a glossy, velvety consistency. The sauce should coat the back of a spoon and cling beautifully to the chicken.
Here’s the thing—this is where the magic happens. The ghee and cream create that signature buttery richness, while the tomatoes provide the tangy depth. If the sauce starts to split or curdle, reduce the heat immediately and whisk vigorously to bring it back together. The sauce should be smooth and luxurious, not grainy or separated.
Finish with Butter and Rest
Remove the pot from heat and stir in the 2 tbsp butter, allowing it to melt completely and blend into the sauce. This final step adds a luxurious richness that you absolutely cannot miss. Taste and adjust the seasoning with additional salt if needed—sometimes the tomatoes need a little more, and that’s okay.
Let the chicken makhani rest for 10 minutes before serving. This resting period allows the juices to redistribute throughout the chicken, ensuring every bite is moist and flavorful. Serve immediately with steamed basmati rice or crusty naan bread, and watch your guests rave about the velvety tomato cream and tender chicken.
Pro Tips For Making Indian Chicken Makhani
- SAUTE GARLIC LOW AND SLOW: I learned this the hard way—burnt garlic ruins everything. For makhani, cook your garlic in ghee over low heat until it’s golden but not crispy (about 5-6 minutes). High heat turns it bitter fast, and you’ll taste it in every bite. Keep stirring like you’re babysitting a toddler—consistent motion is key.
- MARINATE CHICKEN OVERNIGHT: Skip the rushed marinade. Bone-in thighs need time to soak up the yogurt and spices. Mix yogurt, ginger-garlic paste, and half the makhani spices, then let the chicken sit at least 6 hours—overnight is ideal. The meat stays juicy, and the flavors seep in deep. (Yes, even if you’re impatient like me.)
- CHECK YOGURT TEMPERATURE: Cold yogurt curdles when it hits hot ghee. Take your yogurt out of the fridge 30 minutes before using so it’s room temp. If it’s still too cold, whisk in a splash of warm water to stabilize it. Trust me, you don’t want lumpy gravy—this is the thing that matters most.
- REST CHICKEN BEFORE SLICING: Cutting into hot chicken makes it dry. After browning, transfer thighs to a plate and tent loosely with foil for 5-10 minutes. The residual heat finishes cooking while the juices redistribute. I skip this when I’m lazy, but the dish is noticeably better when I don’t—especially with bone-in pieces.
Make-ahead tips for indian chicken makhani
Marinade Prep Ahead
Marinate the chicken 2 days in advance for maximum tenderness and flavor infusion. Store the chicken in its marinade in a sealed container in the fridge. The longer it marinates, the more the spices and yogurt break down the proteins, resulting in melt-in-your-mouth texture.
I like to prep this on Sunday for a stress-free weeknight dinner. Just remember to keep it refrigerated—never leave it out for more than 2 hours. 💡
Sauce Components
Prep the sauce ingredients separately and store them in airtight containers in the fridge for up to 3 days. Keep the crushed tomatoes, spices, and cream in separate containers. When ready to cook, simply combine everything in your Dutch oven and follow the recipe.
This approach saves time and keeps your spices fresh. I often make a double batch of sauce—it freezes beautifully for future meals. ❄️
Freezer-Friendly Sauce
The finished sauce freezes exceptionally well for up to 3 months. Let it cool completely, then transfer to a freezer-safe container. Leave ½ inch of headspace for expansion.
When reheating from frozen, thaw overnight in the fridge, then warm gently on the stove with a splash of water to restore its creamy consistency. I’ve found this method preserves the sauce’s rich, velvety texture perfectly. 🥶
Make-Ahead Chicken
Cook the chicken fully in advance and store it in the sauce, refrigerated for up to 4 days. Reheat gently on the stove over low heat, adding a splash of water if the sauce thickens too much.
This method is perfect for meal prepping—simply reheat and serve. I often prep the entire dish on Sunday to enjoy throughout the week. The flavors actually deepen as it rests. 🍲
Garnish Prep
Pre-chop your garnishes—like fresh cilantro, sliced green onions, or toasted cashews—and store them in small containers in the fridge for up to 5 days. This saves time when plating and ensures your dish looks as good as it tastes.
I keep these in a small jar on my counter for quick access during the week. A sprinkle of these fresh elements right before serving adds a pop of color and brightness. ✨
Portion Control
Divide the makhani into individual portions before freezing for easy reheating. Use airtight containers or freezer bags, leaving 1 inch of headspace. When reheating, thaw overnight in the fridge, then warm on the stove over medium-low heat for 10-15 minutes.
This keeps the chicken moist and the sauce silky. I always prep two extra portions—perfect for lazy nights or last-minute guests. 💛
Nutrition facts
Frequently asked questions
Why does the recipe call for bone-in chicken thighs?
The bone-in thighs stay juicier during the long marinating and cooking process, and the bone infuses extra flavor into the sauce. Plus, they’re more affordable than boneless cuts. For best results, don’t trim all the fat—just remove any large excess. The skin also crisps beautifully when seared, adding texture contrast.
Can I substitute bone-in chicken breasts?
Not ideal—they’re leaner and more likely to dry out during the long cooking process. If you must use breasts, marinate them for only 4-6 hours (not overnight) and cook them for 2-3 minutes per side until just done. The sauce will still work, but the texture won’t be as tender. Chicken thighs are the traditional choice for this dish.
What if my sauce curdles or separates?
This happens when the sauce gets too hot or acidic. Immediately reduce the heat to low and whisk vigorously. If it’s still grainy, add 1 tbsp cornstarch mixed with 2 tbsp water to thicken it. For extra insurance, stir in 1 tbsp yogurt to balance the acidity. The sauce should be smooth and velvety, not broken.
How can I make this dish less spicy?
Reduce the red chili powder to 0.5 tbsp and add 1 tsp sugar to the sauce to balance the heat. For a milder marinade, cut the chili powder in half and add 1 extra tbsp yogurt. The cream in the sauce also helps mellow the spice. Taste as you go—you can always adjust at the end.
Can I use fresh tomatoes instead of canned?
Yes, but you’ll need to blend and strain them first to remove excess liquid. Use about 3 large tomatoes (peeled, seeded, and blended) for the same volume as canned tomatoes. Fresh tomatoes add brightness but require more simmering time to develop the same rich consistency. For best results, roast them first to concentrate their sweetness.
- 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