Main Courses
This authentic Indian chicken curry recipe with coconut milk delivers the aromatic complexity and velvety richness that define traditional South Asian cooking. The secret lies in blooming whole spices in ghee—a technique that unlocks their full potential before they meet the chicken and simmer into a deeply flavorful broth.
I've perfected this method over years of testing, ensuring every bite balances spice, creaminess, and tender meat without overpowering heat.
The recipe begins with a tempering process where cumin, cardamom, and cinnamon infuse the ghee with warmth, setting the foundation for the curry's layered flavors. Chicken cooks slowly in a tomato-based base before coconut milk transforms the dish into a luscious, fragrant masterpiece.
What makes this version truly authentic is the careful balance of spices—just enough chili to add depth without dominating, and enough ginger and garlic to create that signature aromatic punch.
By the time you serve this curry, you'll have a dish that's restaurant-quality at home—golden, aromatic, and perfectly creamy with just the right amount of spice.
The coconut milk adds a subtle sweetness that rounds out the acidity of the tomatoes and the heat of the chili, while the ghee keeps everything rich and satisfying. This is the kind of curry that pairs beautifully with basmati rice or warm roti, making it a complete meal experience.
What sets this recipe apart is its approachability—no complicated techniques, just a methodical process that yields professional results. The spices are toasted and bloomed properly, the chicken remains tender, and the coconut milk creates that signature creamy texture without separation.
Whether you're feeding a family or treating yourself to a flavorful dinner, this curry delivers on every promise of authentic Indian cooking.
Ingredients for authentic indian chicken curry recipe with coconut milk
These carefully selected ingredients transform simple pantry staples into restaurant-quality Indian curry.
| Ingredient | Amount | Notes |
|---|---|---|
| Boneless Chicken Thighs 🍗 | 1 ½ lb | Skin-on preferred for richness |
| Unsalted Ghee 🧈 | ½ cup | Clarified butter for authentic flavor |
| Yellow Onions 🧅 | 1 whole | Finely chopped, 2 cups yield |
| Garlic Cloves 🧄 | 6 cloves | Peeled and minced, aromatic base |
| Fresh Ginger Root 🌿 | 2 tbsp | Grated, for zesty depth |
| Canned Crushed Tomatoes 🍅 | 1 can | 28 oz, San Marzano preferred |
| Coconut Milk 🥥 | 1 can | Full-fat, 13.5 oz can |
| Whole Cumin Seeds 🌶️ | 1 tbsp | Toasted for aromatic depth |
| Green Cardamom Pods 🌿 | 6 whole | Lightly crushed, aromatic essence |
| Cinnamon Sticks 🌳 | 2 whole | 1-inch pieces, warm undertones |
| Kashmiri Chili Powder 🌶️ | 1 tbsp | Mild heat, vibrant color |
| Ground Turmeric 🌿 | 1 tsp | Freshly ground preferred |
| Garam Masala Powder 🌶️ | 1 tbsp | Homemade blend preferred |
| Fresh Cilantro 🌿 | ¼ cup | Chopped, for fresh finish |
| Lemon Juice 🍋 | 1 tbsp | Freshly squeezed, bright acidity |
| Diamond Crystal Kosher Salt 🧂 | 1 tsp | Adjust to taste |
The foundation of this curry lies in its spices and fats—ghee is non-negotiable for authentic flavor, as it withstands high heat without burning while infusing the spices. For the best quality, Whole Foods or Indian specialty stores carry excellent ghee options, but any high-quality brand will work. The whole cumin seeds, cardamom pods, and cinnamon sticks must be toasted in the ghee to unlock their full aromatic potential; pre-ground spices simply won't deliver the same depth. Fresh ginger and garlic are essential for that signature aromatic punch—don't substitute with powders. The chicken thighs should have some skin for extra richness, and bone-in, skin-on thighs are ideal if you want maximum flavor, though boneless works in a pinch.
No whole spices? Substitute with pre-ground versions at half the quantity, though the flavor will be less complex. Running low on ghee? Butter or neutral oil works, but expect slightly different results. The coconut milk can be swapped for cashew cream or heavy cream, though the texture will differ. For a milder heat, reduce the Kashmiri chili powder to 0.5 tbsp and add 0.25 tsp cayenne for depth without overpowering. Fresh cilantro is ideal, but dried works at one-third the amount. The lemon juice can be omitted if you prefer a richer, less acidic curry—just adjust the salt accordingly.
This curry develops deeper flavor over time, so make it a day ahead if possible. Store in an airtight container in the fridge for up to 4 days, or freeze for 3 months. The spices lose potency over time, so toast fresh batches whenever you notice diminished aroma. For best results, reheat gently on the stove with a splash of water or coconut milk to restore creaminess. Serve with steamed basmati rice or warm naan for an authentic experience—both elevate the dish significantly.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this—just chicken, onions, and a handful of spices simmering in coconut milk until the ghee turns golden. No extra pots, no mess, and the rich aroma fills the kitchen before the timer even goes off.
- Ghee-Ginger Magic: That first sizzle of ghee with raw ginger and garlic? It’s like a flavor bomb. The coconut milk softens everything into this velvety, spiced hug—crispy edges on the chicken, tender inside, and a warmth that lingers.
- Weeknight Workhorse: Serve it over rice for dinner, pack it in jars for lunch, or even toss it into wraps when I’m lazy. The coconut milk keeps it creamy even after reheating, and the spices adjust perfectly to whatever I throw in.
- Budget-Friendly Luxury: Chicken thighs stretch further than breasts, and a little ghee goes a long way. I make this for four, eat it for three days, and still feel like I’m treating myself to something special—not just another curry.
Step-by-step instructions for authentic Indian chicken curry with coconut milk
Master this rich, aromatic curry with layer upon layer of spice and creamy coconut milk.
Bloom the Whole Spices in Ghee
Heat the 0.5 cup unsalted ghee in a heavy-bottomed pot over medium-low heat. Add the 1 tablespoon whole cumin seeds, 6 whole green cardamom pods, and 2 whole cinnamon sticks. Stir constantly for 1-2 minutes until the cumin sizzles and releases its nutty aroma—this is when the spices truly awaken. You'll see tiny sparks and smell an earthy, toasty fragrance.
Next, add the 1 whole yellow onion (finely chopped) and cook for 5-6 minutes until soft and translucent. The onions should caramelize slightly at the edges, deepening the flavor foundation. Here's where the magic happens: the ghee carries the spices' essential oils, creating the aromatic backbone of your curry.
Add Aromatics and Build the Spice Base
Push the onions to one side of the pot and add the 6 cloves garlic and 2 tablespoons grated fresh ginger to the empty space. Sauté for 1-2 minutes until the raw garlic scent disappears and you're left with a warm, pungent aroma. This ensures the garlic cooks through without burning, which would make the curry bitter.
Stir everything together, then add the 1 tablespoon Kashmiri chili powder and 1 teaspoon ground turmeric. Cook for 30 seconds while stirring constantly—this prevents the spices from scorching. The mixture should smell vibrant and complex, with notes of earth, citrus, and subtle heat. If any spices stick to the bottom, use a wooden spoon to scrape them up and distribute them evenly.
Incorporate Tomatoes and Chicken
Pour in the 1 can crushed tomatoes and stir to combine with the spice mixture. Simmer uncovered for 5-6 minutes until the tomatoes break down and the sauce thickens slightly. You'll see the oil separate slightly from the tomatoes—this indicates the acid in the tomatoes has cooked off enough to mellow their brightness.
Add the 1.5 lb boneless chicken thighs (skin-on if using) and 1 teaspoon diamond crystal kosher salt. Stir gently to coat the chicken evenly with the spiced tomato mixture. The chicken should be submerged by about halfway. Bring to a gentle boil, then reduce heat to medium-low and cover partially. Simmer for 15 minutes, stirring occasionally, until the chicken is 75% cooked and begins to pull away from the bones slightly.
Finish with Coconut Milk and Garam Masala
Pour in the 1 can full-fat coconut milk and stir gently to combine. The curry will immediately lighten in color and become more luxurious in texture. Simmer uncovered for 15-20 minutes until the chicken is fully tender and the sauce has thickened to a velvety consistency. You'll know it's ready when the sauce coats the back of a spoon and the chicken shreds easily with a fork.
Stir in the 1 tablespoon garam masala powder and simmer for an additional 2 minutes to infuse the warm, earthy notes of this complex spice blend. The curry should smell deeply aromatic, with layers of spice, coconut, and caramelized onions. Taste and adjust seasoning—you may need a pinch more salt or a squeeze of lemon juice to balance the richness.
Garnish and Serve
Remove from heat and stir in the 0.25 cup chopped fresh cilantro. Let the curry rest for 5 minutes to allow the flavors to meld fully. The cilantro adds a bright, herbal finish that cuts through the richness of the coconut milk and balances the spices.
Serve immediately with steamed basmati rice or naan bread, ensuring each bite delivers tender chicken, aromatic spices, and creamy coconut milk in perfect harmony. The curry should be rich but not greasy, with a balance of heat, sweetness, and acidity that makes every spoonful satisfying.
Pro Tips For Making Authentic Indian Chicken Curry Recipe With Coconut Milk
- CRACK THE ONIONS FIRST: Thinly slice the onions and let them sit in cold water for 10 minutes before cooking—this removes bitterness and makes them sweeter. I used to skip this, and my curry always tasted sharp until my neighbor’s mom showed me this trick.
- BROWN THE CHICKEN IN BATCHES: Don’t overcrowd the pan when searing the chicken thighs—work in 2-3 batches if needed. This guarantees a deep, caramelized crust instead of steaming them into blandness. Yes, it takes longer, but the flavor difference is night and day.
- SIMMER THE COCONUT MILK LOW: After adding coconut milk, reduce heat to the lowest setting and let it bubble gently—never boil. Scorched coconut milk ruins the dish faster than you can say "takeout order." I learned this after one disastrous attempt where the kitchen smelled like burnt coconut for a week.
- SALT THE CHICKEN BEFORE MARINATING: Sprinkle the chicken thighs with a full teaspoon of salt and let them sit for 15 minutes before marinating. This ensures the salt penetrates the meat instead of just sitting on the surface. I was skeptical until I tasted the difference—now I never skip it.
Serving suggestions for authentic indian chicken curry recipe with coconut milk
Rice Pairings
Steamed jasmine rice or basmati rice is the perfect foundation for this curry. I recommend using 1 cup uncooked basmati rice per 2 servings of curry, as the grains absorb the rich coconut milk beautifully.
For extra authenticity, try Indian-style parboiled rice—its slightly firmer texture holds up better to the creamy sauce. 💛
Bread Options
Freshly baked naan bread or roti adds a delightful contrast to the curry's creaminess. Warm the bread in a cast-iron skillet for 30 seconds per side until puffed and golden.
For a gluten-free option, cauliflower naan or quinoa flatbread works wonderfully. I like to serve a mix of both—soft naan for dipping and crispy roti for scooping up the sauce.
Yogurt Drizzle
A dollop of plain Greek yogurt or raita (yogurt mixed with cucumber, mint, and a pinch of salt) cools the palate and balances the heat.
I blend ½ cup Greek yogurt with 1 tbsp grated cucumber, 1 tbsp chopped mint, and ½ tsp chaat masala for a refreshing topping. Spoon it directly onto the curry or serve it on the side for dipping.
Pickled Vegetables
Add a tangy crunch with quick-pickled onions or mango chutney. Thinly slice ½ red onion and soak in ½ cup vinegar, 1 tbsp sugar, and ½ tsp salt for 20 minutes before serving.
The acidity cuts through the richness, making each bite more vibrant. For a sweeter contrast, mango chutney from an Indian grocery store adds a fruity depth.
Garnish Finishes
Brighten the dish with toasted cashews or fried shallots. Pulse ¼ cup cashews in a food processor until finely chopped, then toast in 1 tbsp ghee for 2 minutes until golden.
Sprinkle over the curry just before serving for a nutty crunch. Fried shallots add a crispy, savory element that elevates the presentation.
Drink Pairings
Cool your palate with mango lassi or sparkling lime soda. The creamy lassi (blend 1 cup yogurt, ½ cup mango puree, and ½ cup milk) complements the curry’s spice, while the effervescence of lime soda cleanses between bites.
For a non-dairy option, hibiscus iced tea adds a tart, floral contrast that pairs beautifully with the coconut milk’s richness. 🍹
Nutrition facts
Frequently asked questions
Why does this recipe use coconut milk instead of cream?
Coconut milk adds a distinctively authentic South Indian flavor profile that cream simply can't match. The subtle sweetness and rich texture create a perfect balance with the aromatic spices, while the natural fats help carry the complex flavors throughout the dish. Plus, it's lighter than heavy cream but still delivers that luxurious mouthfeel.
Can I make this curry with chicken breast instead of thighs?
Yes, but you'll need to adjust the cooking time. Chicken breast cooks faster and tends to dry out, so use 1 lb boneless breast instead of thighs and reduce simmering time to 10 minutes after adding the coconut milk. For extra tenderness, marinate the breasts in 1 tbsp yogurt and 1 tsp turmeric for 30 minutes before cooking.
What's the secret to getting the spices to bloom properly?
The key is low and slow heat—never rush this step! Use medium-low heat and stir constantly until you see tiny sparks from the cumin and smell that deep, toasty aroma. If your spices burn, they'll taste bitter. Whole spices should sizzle gently for 1-2 minutes—this releases their essential oils and creates the aromatic foundation.
How do I prevent the coconut milk from curdling?
Add the coconut milk gradually while stirring constantly, and keep the heat at medium-low. Never let the curry boil after adding it—simmer gently instead. The acidity in tomatoes can sometimes cause separation, so if you see curdling, whisk in 1 tsp cornstarch mixed with 2 tbsp water to stabilize the sauce.
Can I make this curry in an Instant Pot?
Sauté the spices and onions as directed, then add tomatoes, chicken, and ½ cup water. Cook on high pressure for 8 minutes, then release naturally. Stir in coconut milk and garam masala, then simmer on low heat for 5 minutes to thicken. The Instant Pot version cooks 40% faster but requires careful monitoring to prevent curdling.
