Main Courses
This authentic butter chicken recipe with coconut milk transforms a weeknight into a taste of Delhi’s legendary Mughalai cuisine.
The secret lies in marinating chicken in yogurt and aromatic spices, then slow-cooking it in a rich, velvety sauce where coconut milk replaces traditional cream for a lighter yet equally indulgent texture.
Every bite delivers layers of smoky, sweet, and tangy flavors that balance perfectly—just like the dish you’d find in India’s best restaurants.
The magic begins with a foolproof marinade of yogurt, ginger, garlic, and a blend of garam masala, turmeric, and fenugreek—key spices that give butter chicken its signature depth.
After browning the chicken for a caramelized crust, we simmer it in a sauce where coconut milk’s natural sweetness enhances the richness without overpowering the spices. The result? A sauce that’s silky-smooth, fragrant, and packed with umami that clings to every bite of tender chicken.
What sets this recipe apart is the authentic technique—slow simmering to develop flavors, balancing sweetness with tangy tomato, and finishing with a touch of kasuri methi (dried fenugreek leaves) for that unmistakable aroma.
Serve it over steamed basmati rice or warm naan, and don’t forget a side of raita to cut through the richness. This isn’t just butter chicken—it’s a restaurant-quality experience you can recreate at home.
Ready to master this complete dish? We’ll guide you through marinating, browning, and simmering every step of the way, ensuring your butter chicken is creamy, aromatic, and full of that irresistible Indian soul. Let’s get cooking—your taste buds will thank you.
Ingredients for authentic butter chicken recipe with coconut milk
Creamy coconut milk meets aromatic spices in this restaurant-quality butter chicken.
| Ingredient | Amount | Notes |
|---|---|---|
| Boneless Chicken Thighs 🍗 | 1 ½ lb | Cut into 1-inch pieces |
| Plain Yogurt 🥛 | 1 cup | Full-fat, unsweetened |
| Ginger Root 🌿 | 1 tbsp | Freshly grated |
| Garlic Cloves 🧄 | 6 cloves | Minced finely |
| Garam Masala 🌶️ | 1 tbsp | Store-bought or homemade |
| Ground Turmeric 🌿 | 1 tsp | Freshly ground preferred |
| Ground Fenugreek Leaves 🌿 | ½ tsp | Kasuri methi substitute |
| Tomato Paste 🍅 | ½ cup | High-quality, no salt added |
| Full-Fat Coconut Milk 🥥 | 13 ½ oz | One 13.5 oz can |
| Onion 🧅 | 1 medium | Finely chopped |
| Extra-Virgin Olive Oil 🫒 | ¼ cup | For browning chicken |
| Salt 🧂 | 1 ½ tsp | Adjust to taste |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Kasuri Methi (Dried Fenugreek Leaves) 🌿 | 1 tsp | Crushed between palms |
| Lemon Juice 🍋 | 1 tbsp | Freshly squeezed |
The chicken thighs are non-negotiable here—they stay juicier than breasts during slow cooking. Look for bone-in, skin-on cuts if you want extra flavor, but boneless works too. For the yogurt, full-fat plain yogurt from the refrigerated section (not the Greek kind) gives the best marinade texture. Ginger and garlic? Freshly grated and minced make all the difference—pre-minced garlic has no aroma. Garam masala is the soul of this dish; Madras or Everest brand are reliable, but any blend with cinnamon, cardamom, and cloves works. Kasuri methi (dried fenugreek leaves) is worth hunting down at an Indian grocery—it’s the secret behind that restaurant aroma.
No coconut milk? Heavy cream or half-and-half works in a pinch, but the coconut adds a subtle sweetness that’s hard to replicate. Short on tomato paste? Fresh tomatoes blended (about 2 medium) will do, but you’ll lose that concentrated umami. The onion should be sweet—yellow or Vidalia are ideal. For the garam masala, if you can’t find it, blend 1 tsp each cumin, coriander, cinnamon, cardamom, and cloves as a substitute. Fresh fenugreek leaves? Use 1 tbsp chopped instead of the dried leaves. And yes, the lemon juice at the end is crucial—it brightens all those rich flavors.
Marinate the chicken for at least 4 hours (overnight is best)—this is where the magic happens. The sauce thickens as it simmers, so add water 1 tbsp at a time if it gets too thick. Store leftovers in the fridge for up to 5 days—it actually tastes better the next day as flavors meld. Freezes beautifully for 3 months; just reheat gently with a splash of water to restore creaminess. For extra richness, stir in 1 tbsp butter at the end, but it’s not required.
Why You'll Love This Recipe
- No-Yogurt Waste: The marinade uses just enough yogurt to tenderize—no soggy mess, no extra to throw out. I swear by this trick: pat the thighs dry after marinating, and they sear up golden instead of sticking.
- Coconut Cream Magic: That first spoonful of coconut milk in the sauce? Rich, velvety, and secretly balances the garam masala’s warmth. Honestly, it’s the secret weapon—no one guesses how simple it makes the dish taste restaurant-worthy.
- Weeknight Workhorse: Toss it in a slow cooker for hands-off dinner, or simmer it on the stove while you prep sides. The garam masala does the flavor work—you just stir. (Yes, even on a Tuesday night.)
- Leftovers That Shine: The sauce thickens beautifully overnight, so reheated portions taste just as good as day one. Between us, I’ve frozen this for months—thaw, reheat, and suddenly you’ve got a crowd-pleaser with zero effort.
Step-by-step instructions for authentic butter chicken with coconut milk
Here's how to craft restaurant-quality butter chicken with that signature creamy coconut depth.
Marinate the Chicken for Maximum Flavor
In a large bowl, combine the 1.5 lb boneless chicken thighs cut into 1-inch pieces with the 1 cup plain yogurt, 1 tbsp freshly grated ginger root, 1 tbsp garam masala, 1 tsp ground turmeric, 0.5 tsp ground fenugreek leaves, 1.5 tsp salt, and 0.5 tsp black pepper. Mix until every piece is thoroughly coated and the marinade clings to the chicken.
Cover the bowl and refrigerate for at least 2 hours, preferably overnight. This extended marination breaks down the chicken fibers, ensuring tender results while allowing the spices to penetrate deeply. The yogurt will create a protective barrier during cooking, preventing the chicken from drying out.
Brown the Chicken for Rich Foundation
Heat the 0.25 cup extra-virgin olive oil in a large, heavy-bottomed pot over medium-high heat. Working in batches if needed, add the marinated chicken and cook undisturbed for 3-4 minutes per side until golden brown and cooked through. The chicken should release easily from the bottom of the pot when ready to flip.
Remove the browned chicken and set aside. Don't drain the pot—those flavorful browned bits are essential for building depth in your sauce. Here's the thing: the high heat creates a Maillard reaction that develops complex flavors you can't replicate any other way.
Build the Spiced Tomato-Coconut Base
In the same pot, add the 1 medium finely chopped onion and cook for 5-6 minutes until softened. Stir in the 6 cloves minced garlic and cook for 30 seconds until fragrant. Add the 0.5 cup tomato paste, scraping up any browned bits from the bottom of the pot with a wooden spoon.
Pour in the 13.5 oz full-fat coconut milk and stir well to combine. Bring the mixture to a gentle simmer over medium heat, then reduce to low. Let it cook uncovered for 15-20 minutes, stirring occasionally, until the sauce thickens slightly and the raw tomato taste disappears. The coconut milk will create that signature creamy texture while the tomato paste adds depth.
Finish with Aromatics and Balance Flavors
Return the browned chicken to the pot and stir gently to coat in the sauce. Add the 1 tsp crushed kasuri methi (dried fenugreek leaves) and 1 tbsp freshly squeezed lemon juice. Simmer for an additional 10-15 minutes until the chicken is fully tender and the sauce has thickened to a velvety consistency.
Taste and adjust seasoning with additional salt if needed. The kasuri methi adds that authentic Indian touch while the lemon juice brightens the rich coconut flavors. The sauce should cling beautifully to the chicken, creating that perfect balance of creamy, spicy, and tangy notes that define authentic butter chicken.
Pro Tips For Making Authentic Butter Chicken Recipe With Coconut Milk
- MARINATE CHICKEN OVERNIGHT: I learned this the hard way—rushing the yogurt marinade leaves the chicken bland. Use full-fat plain yogurt (no low-fat shortcuts) and let it sit in the fridge for at least 12 hours. The acid tenderizes deeper, and the fat keeps the thighs juicy when cooking. (Yes, even if you're impatient like me, skip the 4-hour "quick" marinade.)
- BLANCH GINGER-GARLIC PASTE: After burning three batches of paste in the pan, I finally figured out: cook it low and slow in 2 tablespoons ghee until the raw smell disappears. Add a splash of water to deglaze—this prevents scorching and builds flavor. (Sounds weird, but it works: the paste becomes silky, not bitter.)
- SIMMER COCONUT MILK LOW: The coconut milk will split if you boil it hard. Once you add the sauce to the chicken, reduce heat to medium-low and let it bubble gently for 20 minutes. Stir occasionally—this thickens the sauce without curdling. (Your future self will thank you for not rushing this part.)
- SKIP THE PRE-COOKED CHICKEN: I was skeptical until I tried it: brown the marinated chicken thighs first in a hot pan (no oil needed—the yogurt fat will render). Then finish cooking in the sauce. The crust adds texture, and the thighs stay moist. (Does it look weird? Yes. Does it work? Every single time.)
Perfect pairings for this authentic butter chicken recipe with coconut milk
Rice Pairings
Serve your butter chicken over steamed basmati rice—its long grains soak up the creamy coconut sauce beautifully. I like to cook 1 cup basmati rice with 1.5 cups water and a pinch of salt, then fluff with a fork.
For extra fluffiness, rinse the rice first to remove excess starch. 💛
For a more aromatic option, try jeera rice—cook the rice with 1 tsp cumin seeds and a few crushed cardamom pods. The nutty warmth complements the coconut milk perfectly. If you prefer a lighter base, jasmine rice works too, though basmati remains the classic choice.
Bread Companions
Warm naan or roti is essential for scooping up the rich sauce. I recommend brushing garlic naan with 2 tbsp melted ghee and a pinch of salt before serving. For a healthier option, use whole wheat roti—it holds up well to the sauce without falling apart. 🥖
For a crispy alternative, try paratha—layered flatbreads made with whole wheat flour, yogurt, and ghee. The flaky texture contrasts wonderfully with the velvety chicken. Store-bought naan from the Indian grocery section works in a pinch, but homemade always tastes better.
Cool Contrasts
A side of cucumber raita cuts through the richness. Mix 1 cup yogurt with ½ cup grated cucumber, 1 tbsp lemon juice, ½ tsp roasted cumin powder, and a pinch of salt. The cool, tangy yogurt balances the coconut milk’s creaminess perfectly. 🥒
For a crunchy option, serve with onion salad—thinly sliced red onions tossed with 1 tbsp lemon juice and ½ tsp chaat masala. The sharpness of the onions and the tangy dressing refresh your palate between bites of rich butter chicken.
Beverage Pairings
A mango lassi is the ideal drink to accompany this dish. Blend 1 cup yogurt, 1 ripe mango, ½ cup milk, 1 tbsp honey, and a pinch of cardamom. The sweet, creamy lassi complements the spicy-sweet flavors of the chicken. 🍹
For a non-dairy option, try masala chai—black tea steeped with 1-inch ginger, 2 cardamom pods, 1 cinnamon stick, and ½ tsp black pepper. The warm spices enhance the garam masala in the chicken, creating a cohesive flavor experience.
Nutrition facts
Frequently asked questions
Can I substitute coconut milk with regular cream?
The coconut milk adds a unique sweetness and lighter texture that cream can't fully replicate. If you must substitute, use 1 cup heavy cream or half-and-half plus 2 tbsp sugar to mimic the coconut's natural sweetness. However, the sauce may be slightly heavier and lack the subtle tropical notes.
How do I make the sauce extra creamy?
For a velvety texture, simmer the sauce uncovered for 10-15 extra minutes to reduce it slightly. You can also stir in 1 tbsp cornstarch mixed with 2 tbsp water at the end and simmer for 2 minutes until thickened. Avoid over-stirring to prevent lumps.
What's the best way to store leftovers?
Let the butter chicken cool completely, then store in an airtight container in the fridge for up to 5 days. For freezing, portion into meal-sized containers and freeze for 3 months. Reheat gently on low heat with a splash of water or coconut milk to restore creaminess.
Can I make this with chicken breast instead of thighs?
While possible, thighs are ideal because they stay juicier during slow cooking. If using breasts, marinate for at least 6 hours and cook at 325°F instead of browning first to prevent drying. You may need to add 1-2 tbsp coconut milk at the end to compensate for moisture loss.
Why does my sauce taste too sweet?
The coconut milk's natural sweetness can overpower the spices if not balanced. Add 1 tbsp lemon juice or ½ tsp chaat masala to brighten flavors. For a more savory profile, increase garam masala by ½ tsp and simmer uncovered for 5 extra minutes to concentrate flavors.
