Main Courses
This authentic Indian chicken curry with coconut milk transforms simple ingredients into a fragrant, golden masterpiece that tastes like a home-cooked meal from Mumbai. The secret lies in slow-simmered spices and coconut milk that deepens into velvety richness, creating layers of flavor that balance heat with creaminess.
I've perfected this one-pot technique over years of testing, ensuring every bite delivers the perfect harmony of smoky, sweet, and tangy notes that define true Indian curry.
The process begins with whole spices toasted in ghee—a traditional method that unlocks their aromatic potential before building the curry base. Chicken marinated in yogurt and spices develops deep flavor while tenderizing the meat, while the coconut milk adds a luscious texture that modernizes the classic recipe without sacrificing authenticity.
What makes this version special is how the spices bloom gradually, releasing their full potential as the curry simmers to golden perfection.
By the time you serve this curry steaming over basmati rice or warm naan, you'll have created a restaurant-quality dish that's surprisingly approachable for home cooks.
The aroma alone transforms any kitchen into an Indian dining space, while the balance of flavors—smoky cumin, warm cinnamon, and bright lemon—delivers that unmistakable taste of home. This isn't just curry; it's a flavor journey that begins with a single pot and ends with a satisfied, well-fed soul.
Pair it with raita for cooling contrast or extra naan to soak up every last drop of that spiced coconut sauce. The beauty of this recipe is its flexibility—adjust the heat to your preference, use fresh or dried herbs, and let the spices guide you.
Here's to creating something truly special that tastes like love in every bite.
Ingredients for authentic indian chicken curry recipe with coconut milk
Pantry spices and coconut milk create this fragrant, golden curry that tastes like Mumbai in one pot.
| Ingredient | Amount | Notes |
|---|---|---|
| Boneless Chicken Thighs 🍗 | 1 ½ lb | Cut into 1-inch pieces |
| Plain Yogurt 🥛 | ½ cup | Full-fat preferred |
| Coconut Milk 🥥 | 1 can | Full-fat, 13.5 oz can |
| Ghee 🫒 | ¼ cup | For authentic aroma |
| Yellow Onion 🧅 | 1 whole | Finely chopped |
| Fresh Garlic Cloves 🧄 | 6 cloves | Minced for depth |
| Fresh Ginger 🌿 | 2 tbsp | Grated, about 1-inch piece |
| Ground Cumin 🌶️ | 1 tbsp | Toasted for warmth |
| Ground Coriander 🌿 | 1 tbsp | Sweet and citrusy |
| Turmeric Powder 🧂 | 1 tsp | Bright yellow color |
| Ground Cinnamon 🌿 | ½ tsp | Warm and aromatic |
| Red Chili Powder 🌶️ | 1 tsp | Adjust for heat |
| Garam Masala 🌶️ | 1 tsp | Blooms with heat |
| Tomato Paste 🍅 | 2 tbsp | Smooth texture |
| Lemon Juice 🍋 | 1 tbsp | Freshly squeezed |
| Fresh Cilantro 🌿 | ¼ cup | Chopped for garnish |
| Salt 🧂 | 1 tsp | Kosher preferred |
The chicken thighs are key—bone-in would work too, but thighs stay juicier. Costco or Whole Foods have great prices for whole chicken thighs, or grab pre-cut from the grocery store. The yogurt should be full-fat for creaminess (Greek yogurt works too). For the coconut milk, full-fat is non-negotiable—it's what gives that luxurious texture. Look for cans with no additives, like Aroy-D or Thai Kitchen. Fresh ginger and garlic? Buy them whole—they keep longer and taste better than pre-minced. Toast the whole spices in the ghee first—that's where the magic happens.
No ghee? Butter or coconut oil works in a pinch, but ghee has that unmistakable nutty aroma. Short on cilantro? Fresh parsley works too. The garam masala can be tricky—if you can't find it, mix equal parts cinnamon, cardamom, cloves, and black pepper. For heat, adjust the chili powder—start with half and add more to taste. The tomato paste should be smooth, not chunky. Trader Joe's or Whole Foods have great options. If you're using dried herbs, cut the amount in half compared to fresh.
This curry tastes even better the next day—make extra for leftovers. Store in an airtight container in the fridge for 4-5 days or freeze for 3 months. The flavors meld beautifully over time. For serving, basmati rice or warm naan are perfect. Double the recipe if you're feeding a crowd—it's worth it. The sauce thickens as it cools, so add a splash of water or coconut milk if it's too thick when reheating.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this recipe—just one pot, no fuss. Marinate the chicken in yogurt and spices, then let the coconut milk and ghee do the heavy lifting while you sip tea. (Yes, even on a Tuesday night.)
- Rich, Layered Depth: That first bite? Creamy, spicy, and just a little smoky from the ghee—all balanced by the coconut’s gentle sweetness. Honestly, the way the onions caramelize while the chicken tenderizes? It’s the kind of flavor that lingers.
- Meal Prep Hero: Doubles easily, stays delicious for days, and reheats like a dream. Pack it in containers for lunches or freeze half for when you’re too tired to cook. My daughter picks out the best pieces first—no complaints there.
- Budget-Friendly Luxury: Chicken thighs stretch further than breasts, coconut milk adds richness without breaking the bank, and a little ghee goes a long way. It’s the kind of dish that makes you feel like you’re eating at a restaurant without the price tag.
Step-by-step instructions for authentic Indian chicken curry with coconut milk
Here's how to build rich, spiced curry that tastes like it's been simmering for hours.
Marinate the Chicken for Maximum Flavor
Cut the 1.5 lb boneless chicken thighs into 1-inch pieces and place them in a bowl. Add the 0.5 cup plain yogurt, 1 tbsp lemon juice, 1 tsp turmeric powder, 1 tsp red chili powder, and 1 tsp salt. Mix gently until the chicken is fully coated. Let it marinate for at least 30 minutes—this tenderizes the meat and infuses it with warm spices.
I like to press the marinade into the chicken pieces with my fingers so it absorbs evenly. If you're short on time, you can do a quick 15-minute marinade, but the longer it sits, the deeper the flavor. Cover the bowl and refrigerate while you prep the rest of the ingredients.
Bloom the Spices in Ghee for Deep Aroma
Heat the 0.25 cup ghee in a heavy-bottomed pot over medium heat. Add the 1 whole finely chopped yellow onion and cook until soft and translucent, about 5 minutes. Then add the 2 tbsp grated fresh ginger and 6 cloves minced fresh garlic, cooking for another 2 minutes until fragrant.
Now add the 1 tbsp ground cumin, 1 tbsp ground coriander, 0.5 tsp ground cinnamon, and 1 tsp garam masala. Stir constantly for 1 minute—this blooming step releases the spices' essential oils and creates that authentic Indian aroma. Watch carefully so they don't burn; you want them to smell warm and earthy, not bitter.
Brown the Chicken and Build the Base
Increase heat to medium-high and add the marinated chicken in batches, letting each piece sear for 2-3 minutes until golden brown. Remove the chicken from the pot and set aside. To the same pot, add the 2 tbsp tomato paste and cook for 2 minutes until it darkens slightly—this deepens the curry's color and flavor.
Here's the thing—don't skip browning the chicken. Those golden spots create a beautiful contrast in your finished curry and add layers of flavor. If your chicken releases too much liquid, let it evaporate before adding more. You want the spices to cling to the chicken, not swim in excess liquid.
Simmer in Coconut Milk for Creamy Richness
Pour in the 1 can coconut milk and stir to combine. Return the chicken to the pot, reduce heat to low, and let it simmer uncovered for 25-30 minutes. Stir occasionally to prevent sticking, but don't over-mix—you want the spices to settle and develop their flavors.
The curry should reduce slightly and coat the back of a spoon by the end. If it's too thin, simmer uncovered for another 5 minutes to thicken. Taste and adjust seasoning with more salt or red chili powder if needed. The coconut milk will give you that signature creamy texture while keeping the dish light enough to balance the spices.
Finish and Garnish for Freshness
Once the curry reaches your desired consistency, stir in the 0.25 cup chopped fresh cilantro. Remove from heat and let it sit for 5 minutes—this resting period lets the flavors meld together. Serve hot over steamed basmati rice or with warm naan bread.
Each bite should deliver tender chicken with a perfect balance of spicy, sweet, and savory notes. The coconut milk adds a velvety richness that makes this curry feel luxurious. For extra brightness, squeeze a little more lemon juice over the top just before serving—it cuts through the richness and adds a refreshing finish.
Pro Tips For Making Authentic Indian Chicken Curry Recipe With Coconut Milk
- Bloom the Spices Slow: Start your onions and spices on medium-low heat—no rushing. I learned this the hard way when I cranked the heat too high and ended up with burnt spices that turned the whole curry bitter. Let them sweat for 8-10 minutes until the onions are translucent and the spices release their aroma before adding anything else.
- Marinate Chicken Overnight: Skip the last-minute yogurt marinade—it’s a game-changer. Mix chicken with yogurt, a pinch of salt, and a splash of lemon juice, then refrigerate for at least 6 hours (or overnight). The acid tenderizes the meat and keeps it juicy, especially with boneless thighs that dry out faster.
- Simmer, Don’t Boil: Once the coconut milk hits the pot, drop the heat to the lowest setting possible. I used to let it bubble, and the curry would split—thin, watery, and sad. A gentle simmer (barely any movement) keeps the coconut milk creamy and the flavors rich.
- Use Full-Fat Coconut Milk: The canned stuff works, but for real depth, grab a carton of full-fat coconut milk and stir in just the thick cream from the top. I was skeptical until I tried it—the texture is velvety, and the flavor is way more complex. (Yes, even if you’re impatient like me, it’s worth the extra step.)
Storing and reheating this dish
Refrigerator Storage
Let your curry cool completely before transferring it to airtight containers—I use glass Pyrex with snap-on lids. Store in the refrigerator for up to 4-5 days, but the flavors actually deepen over time, making it taste even better the next day.
The coconut milk helps preserve the creamy texture, so you won’t lose that luxurious quality. 💛
Freezer Storage
For longer storage, freeze your curry in quart-sized freezer bags or airtight containers, leaving 1-inch headspace for expansion. It keeps well for up to 3 months without losing flavor or texture.
When reheating from frozen, add 2-3 tablespoons of water or coconut milk to prevent drying out. I like to portion it into single-serving containers for easy grab-and-go meals.
Stovetop Reheating
My preferred method is stovetop reheating because it maintains the best texture. Pour the curry into a pot and heat over medium-low heat for 8-10 minutes, stirring occasionally. If it thickens too much, add 1-2 tablespoons of water or coconut milk to restore creaminess.
Taste and adjust seasoning—you might need a pinch more salt or red chili powder after reheating.
Microwave Reheating
For quick reheating, transfer the curry to a microwave-safe dish and cover loosely with a damp paper towel. Heat on medium power for 2-3 minutes, then stir and continue in 30-second intervals until heated through.
Avoid high power to prevent uneven heating or splattering. If the sauce looks dry, add a splash of water or coconut milk to restore its velvety texture.
Reviving Leftovers
If your curry tastes a bit flat after storage, revive it by adding 1 teaspoon of fresh lemon juice or a pinch of garam masala before reheating. The acidity brightens the flavors, while the garam masala adds warmth.
For extra richness, stir in 1 tablespoon of coconut milk or a dollop of plain yogurt—this restores the creamy balance and makes it taste fresh again. ✨
Nutrition facts
Frequently asked questions
Can I substitute coconut milk with another dairy product?
While coconut milk is essential for that authentic creamy texture, you can use 1 cup heavy cream or full-fat yogurt in a pinch—but the flavor will be lighter. For a closer match, blend ½ cup coconut milk with ½ cup yogurt to maintain richness. The coconut milk's subtle sweetness balances the spices perfectly, so don't skip it if possible.
How do I adjust the spice level for kids or sensitive palates?
Reduce the red chili powder to ½ tsp and skip the fresh chili if using. For extra mildness, add 1 extra tbsp yogurt to the marinade and simmer with the lid slightly ajar to let some heat escape. Always taste the sauce before serving—you can add more yogurt or coconut milk to mellow flavors further.
What's the best way to make this curry less greasy?
Use full-fat coconut milk (not light) for creaminess without excess oil. After simmering, skim excess fat from the surface with a spoon before serving. For a lighter version, reduce simmering time to 20 minutes and add 1 tbsp lemon juice at the end—it cuts through richness naturally.
Can I make this curry in an Instant Pot or pressure cooker?
Yes! Sauté onions, ginger, and garlic as directed, then add spices and brown the chicken. Pour in ½ can coconut milk, seal the lid, and cook on high pressure for 8 minutes. Quick-release, then stir in remaining coconut milk and simmer 5 minutes to thicken. The pressure method cuts cooking time by half while keeping flavors deep.
What's the secret to getting the golden color in the curry?
The golden hue comes from toasting the spices in ghee until fragrant (not burnt) and cooking the tomato paste until it darkens slightly. For extra richness, add 1 tsp honey or sugar with the tomato paste—it caramelizes beautifully. The coconut milk also contributes to that signature golden color when simmered properly.
