Main Courses
This authentic butter chicken recipe with coconut milk delivers restaurant-quality richness that surpasses even your favorite takeout. The secret lies in a perfect balance of smoky, spicy, and creamy flavors—achieved through traditional marinating techniques and a velvety sauce that coats every bite.
I developed this version after years of testing, ensuring the coconut milk enhances rather than overwhelms the classic butter chicken profile.
The marinade transforms simple chicken thighs into tender, flavor-packed pieces with a subtle char, while the sauce combines the best of traditional butter chicken with the natural sweetness of coconut milk.
This creates a creamier texture without sacrificing the dish's signature depth. The key is slow simmering, which allows all the spices to meld together beautifully.
What you'll end up with is a dish that's rich, aromatic, and perfectly balanced—where the heat from the spices dances with the smoothness of the coconut milk. The sauce is thick enough to cling to the chicken but still silky, creating each bite into a harmonious blend of flavors.
Serve with basmati rice or warm naan for the complete experience.
This recipe stays true to the original while offering a modern twist that's sure to impress even the most discerning food lovers. The coconut milk adds a subtle sweetness that rounds out the spiciness, making it a crowd-pleaser for any occasion. Let's get started on creating this authentic, creamy masterpiece.
Ingredients for authentic butter chicken recipe with coconut milk
The secret to restaurant-quality butter chicken lies in these 15 ingredients that balance smoky, spicy, and creamy flavors perfectly.
| Ingredient | Amount | Notes |
|---|---|---|
| Boneless, Skinless Chicken Thighs 🍗 | 1 ½ lb | Cut into 1-inch pieces |
| Full-Fat Coconut Milk 🥥 | 13 ½ oz | One 13.5 oz can preferred |
| Plain Yogurt 🥛 | ½ cup | Full-fat for creaminess |
| Lemon Juice 🍋 | ¼ cup | Freshly squeezed |
| Ginger Root 🧄 | 1 tbsp | Freshly grated |
| Garlic Cloves 🧄 | 6 cloves | Minced finely |
| Garam Masala 🌶️ | 1 tbsp | Ground, not whole |
| Ground Cumin 🌿 | 1 tbsp | Toasted preferred |
| Ground Coriander 🌿 | 1 tbsp | Freshly ground |
| Turmeric Powder 🌶️ | ½ tbsp | Bright yellow color |
| Kashmiri Chili Powder 🔥 | 1 tbsp | For color and heat |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Butter 🧈 | 4 tbsp | Unsalted, cubed |
| Heavy Cream 🥛 | ¼ cup | For extra richness |
| Fresh Cilantro 🌿 | ¼ cup | Chopped, for garnish |
The coconut milk is non-negotiable here—full-fat canned milk gives that authentic velvety texture. Thai Kitchen or Goya brands work perfectly, but avoid the light version. For the yogurt, full-fat Greek yogurt adds richness that non-fat can't match. Chicken thighs stay juicier than breasts during the long marinating time. The garlic and ginger should be freshly grated—jarred versions lack punch. If you can't find Kashmiri chili powder, substitute smoked paprika plus a pinch of cayenne for that signature color.
No garam masala? Mix equal parts cumin, coriander, and cinnamon—it's not identical, but close. The butter and heavy cream might seem indulgent, but they're what take this from good to restaurant-quality. Salted butter works too, just reduce the added salt slightly. For the cilantro, stems are edible and add more flavor—don't waste them. The lemon juice can be bottled, but fresh is brighter. If you're short on time, pre-minced garlic works in a pinch, but fresh is always better. The spices should be ground fresh if possible—spice grinders at Indian markets are your friend here.
Marinate the chicken for at least 4 hours (overnight is ideal) in the fridge. The sauce keeps well for 5 days in the fridge or 3 months frozen. I always make extra sauce—it's perfect for naan dipping. Store leftovers with sauce on top to keep everything moist. The coconut milk separates when chilled? Just give it a quick stir before reheating—it'll come back together beautifully.
Why You'll Love This Recipe
- No Marination Madness: I swear by the yogurt and lemon juice marinade—just 15 minutes in the fridge while you prep the rest. No fancy techniques, no waiting hours; the ginger and yogurt tenderize the thighs perfectly without overpowering them.
- Creamy Without the Guilt: That full-fat coconut milk? It’s where the magic happens—rich, velvety, and way more exciting than heavy cream. The first time I swapped in a can, my whole family noticed the difference. (Yes, even my picky dad.)
- Leftovers That Don’t Suck: This sauce clings to the chicken like it’s glued on, so reheating is a breeze—no soggy takeout vibes here. I make double batches because it’s my go-to for lazy nights when I’d rather scroll than cook.
- Budget-Friendly Luxury: Chicken thighs stretch farther than breasts, and coconut milk adds depth without breaking the bank. Honestly, it’s the kind of dish where you can feed six people for the price of one sad takeout order. (And it’s way better.)
Step-by-step instructions for authentic butter chicken with coconut milk
Here's how to make restaurant-quality butter chicken with that signature rich, coconut-infused creaminess.
Marinate the Chicken for Maximum Flavor
Cut the 1.5 lb boneless, skinless chicken thighs into 1-inch pieces and place them in a bowl. In a separate small bowl, whisk together the 0.5 cup plain yogurt, 0.25 cup lemon juice, 1 tbsp freshly grated ginger root, 6 minced garlic cloves, 1 tbsp garam masala, 1 tbsp ground cumin, 1 tbsp ground coriander, 0.5 tbsp turmeric powder, 1 tbsp Kashmiri chili powder, and 1.5 tsp salt. Pour this marinade over the chicken and mix until every piece is thoroughly coated.
Cover the bowl and refrigerate for at least 4 hours, or preferably overnight. This long marinating time allows the spices to penetrate deeply into the chicken, creating that authentic, complex flavor profile. The yogurt will also tenderize the meat, ensuring it stays juicy even after cooking. You'll know it's ready when the chicken smells intensely aromatic and the marinade has been mostly absorbed.
Cook the Marinated Chicken Until Tender
Heat a heavy-bottomed pot or Dutch oven over medium-high heat. Add 4 tbsp cubed butter and let it melt completely, then add the marinated chicken pieces in a single layer. Cook undisturbed for 4-5 minutes until the chicken develops a golden crust on the bottom. This initial searing locks in juices and builds flavor.
Reduce heat to medium-low, cover the pot, and let the chicken cook for 15-20 minutes, stirring occasionally. You want the chicken to cook through completely while still retaining moisture. The chicken is done when it reaches an internal temperature of 165°F and the meat easily pulls apart with a fork. Remove the chicken from the pot and set it aside on a plate.
Build the Rich Coconut Cream Sauce
In the same pot (don't clean it—the fond is packed with flavor), increase the heat to medium and add the 13.5 oz full-fat coconut milk. Stir well to scrape up all the browned bits from the bottom of the pot. Bring the coconut milk to a gentle simmer and let it cook uncovered for 8-10 minutes, stirring occasionally. This allows the coconut milk to reduce slightly and develop a thicker, creamier consistency.
Reduce the heat to low and stir in the 0.25 cup heavy cream. The sauce should now be velvety and rich, with a beautiful golden hue from the Kashmiri chili powder. Taste and adjust seasoning if needed—you might want to add a pinch more salt or a bit more chili powder to suit your preference. The sauce should coat the back of a spoon but still be pourable.
Finish and Garnish the Butter Chicken
Return the cooked chicken to the pot and gently stir to coat it thoroughly in the coconut cream sauce. Let it simmer together for 5-7 minutes until the chicken absorbs the sauce and becomes tender. The sauce should cling beautifully to each piece of chicken, creating that signature buttery, creamy texture.
Remove the pot from heat and stir in the 0.25 cup chopped fresh cilantro. This adds a bright, fresh contrast to the rich coconut sauce. Taste one last time and adjust seasoning if needed. Serve the butter chicken hot, either over steamed basmati rice or with warm naan bread. The dish should be rich, creamy, and packed with authentic Indian flavors—far more complex than typical takeout versions.
Pro Tips For Making Authentic Butter Chicken Recipe With Coconut Milk
- Simmer the Coconut Milk Low: After adding the coconut milk, reduce the heat to a bare simmer—not a rolling boil. I used to rush this and end up with a split sauce that separates like oil and water. Keep it gentle so the creaminess stays intact and the flavors meld properly.
- Marinate Chicken Overnight: Toss the chicken thighs in yogurt, lemon juice, and ginger at least 6 hours—or better yet, overnight. The acid breaks down the meat just enough to keep it tender, and the ginger infuses deeper. Skipping this step means tougher bites, no matter how long you cook them.
- Bloom the Spices First: Toast your whole spices (cumin, coriander, cardamom) in a dry pan for 30 seconds before grinding them into the yogurt marinade. This wakes up their flavors and cuts through the coconut milk’s sweetness. I used to just toss them in raw, and the dish always tasted flat.
- Strain the Yogurt: Drain the yogurt through a cheesecloth or clean towel for 10 minutes to remove excess liquid before marinating the chicken. Wet marinades dilute your spices and make the sauce watery later. It’s a pain, but it guarantees a richer, thicker result.
Pro cooking tips for this recipe
Marinade Mastery
Let the chicken marinate for at least 4 hours (overnight is ideal) in the fridge. This long marinating time allows the spices to deeply penetrate the meat, creating that signature complex flavor. I always use full-fat yogurt—it adds richness that non-fat can't match.
The yogurt also tenderizes the chicken, ensuring it stays juicy even after cooking. Don't skip the lemon juice—it brightens the flavors and helps balance the richness of the coconut milk later. 🌶️
Low-and-Slow Cooking
Cook the chicken on medium-low heat after the initial sear to prevent drying out. I use a heavy-bottomed Dutch oven to distribute heat evenly. The goal is to reach an internal temperature of 165°F while keeping the meat tender.
If your chicken browns too quickly, reduce the heat slightly—patience is key here. The longer the chicken cooks gently, the more flavorful it becomes. 🔥
Coconut Milk Reduction
Simmer the coconut milk for 8-10 minutes to thicken it slightly—this is what gives the sauce its signature creaminess. Stir occasionally to prevent sticking, and don't rush this step. The natural sweetness of the coconut milk will mellow as it reduces, allowing the spices to shine.
I always use full-fat canned coconut milk—it's essential for that authentic texture. 🥥
Sauce Balance
Add the heavy cream at the end to enrich the sauce without making it too heavy. Taste and adjust seasoning before adding the chicken back—this is your last chance to balance flavors. The sauce should coat the back of a spoon but still be pourable.
If it's too thick, add a splash of water or chicken broth. If it's too thin, simmer it longer. 💫
Garnish Like a Pro
Finish with fresh cilantro—it adds a bright, herbaceous note that cuts through the richness. I also like to add a pinch of Kashmiri chili powder at the end for extra color and heat.
Garnish with a drizzle of melted butter if you want that restaurant-quality shine. The presentation matters almost as much as the flavor! ✨
Heat Control Tips
If your sauce starts to curdle when adding the chicken, reduce the heat to low and let it warm through gently. The coconut milk is delicate—don't let it boil.
For extra richness, stir in 1 tbsp of butter at the end. This final touch elevates the dish to another level. Trust me, it makes all the difference! 💡
Nutrition facts
Frequently asked questions
Why use coconut milk in butter chicken instead of traditional cream?
Coconut milk adds a unique depth of flavor with its natural sweetness and subtle tropical notes, creating a richer, creamier texture than traditional butter chicken. It also balances the spice perfectly while keeping the dish lighter than heavy cream versions. The recipe maintains authenticity by using full-fat coconut milk, which mimics the richness of traditional dairy-based sauces.
Can I make this recipe with chicken breast instead of thighs?
While possible, thighs are ideal because they stay juicier during the long marinating and cooking process. If using breasts, cut them into smaller pieces and reduce cooking time by 5 minutes to prevent drying. For extra moisture, add 1 tbsp yogurt to the sauce before serving.
How do I adjust the spice level for sensitive palates?
Start by reducing the Kashmiri chili powder to 0.5 tbsp and omit cayenne if added. For extra mildness, strain the sauce through a fine-mesh sieve to remove some spice particles. Always taste before adding the chicken back—you can adjust with more yogurt or coconut milk to balance heat.
What's the best way to reheat leftovers?
Gently reheat in a saucepan over low heat with 1-2 tbsp water or broth to prevent the sauce from separating. Avoid microwaving—it can make the coconut milk curdle. For crispy texture, broil for 2-3 minutes at the end, watching closely to avoid burning.
Can I substitute coconut milk with another dairy product?
For a traditional approach, use 1 cup heavy cream + 1 tbsp butter instead of coconut milk. However, you'll lose the coconut's natural sweetness and unique texture. If you must substitute, try half coconut milk, half cream for a compromise. The coconut milk is key to this recipe's signature richness!
