Main Courses
This authentic chicken tikka masala recipe with coconut milk delivers the rich, aromatic depth of your favorite Indian restaurant—right in your kitchen. The secret lies in marinating the chicken twice with yogurt and spices, then achieving that signature tandoori char through high-heat grilling or broiling.
What sets this apart is the coconut milk base, which adds a subtle sweetness that balances the tangy tomato sauce perfectly.
The recipe begins with a foolproof marinade that tenderizes the chicken while infusing it with warm spices like garam masala and cumin. After grilling, the chicken is simmered in a velvety sauce made with tomato purée, coconut milk, and a blend of fresh and dried herbs.
This method ensures the sauce clings to the meat, creating every bite rich, creamy, and packed with flavor.
By the time you serve this dish, you’ll have restaurant-quality results—golden, charred chicken pieces swimming in a luscious sauce that’s neither too sweet nor overly spicy. The coconut milk adds a luxurious creaminess without overpowering the traditional flavors, making this version both authentic and approachable for home cooks.
Perfect for feeding a crowd or meal prepping, this recipe scales easily while keeping the same depth of flavor. Whether you’re serving it with basmati rice or naan, the aroma alone will have everyone at the table asking for seconds.
Let’s get started on this creamy, spiced masterpiece that tastes like a trip to India.
Ingredients for authentic chicken tikka masala recipe with coconut milk
Sixteen ingredients for a restaurant-worthy dish that's richer than takeout.
| Ingredient | Amount | Notes |
|---|---|---|
| Boneless Chicken Thighs 🍗 | 2 ½ lb | Skinless, cut into 1.5-inch pieces |
| Plain Yogurt 🥛 | 1 cup | Full-fat for best flavor |
| Greek Yogurt 🥛 | ½ cup | Extra thick for marinade |
| Garam Masala 🌶️ | 2 tbsp | Freshly ground preferred |
| Ground Cumin 🌿 | 1 ½ tbsp | Toasted for deeper flavor |
| Ground Coriander 🌿 | 1 tbsp | Mild, citrusy flavor |
| Turmeric Powder 🌶️ | 1 tsp | Bright yellow color |
| Fresh Ginger 🧄 | 2 tbsp | Grated, fresh only |
| Garlic Cloves 🧄 | 6 cloves | Minced, fresh preferred |
| Tomato Purée 🍅 | 1 ½ cups | San Marzano for best flavor |
| Coconut Milk 🥥 | 1 can | Full-fat, 13.5 oz can |
| Fresh Cilantro 🌿 | ¼ cup | Chopped, stems removed |
| Fresh Fenugreek Leaves 🌿 | ¼ cup | Optional, for authenticity |
| Lemon Juice 🍋 | 2 tbsp | Freshly squeezed |
| Olive Oil 🫒 | ½ cup | For grilling and sauce |
The chicken thighs are the star—bone-in, skinless for juiciness, cut into even pieces so they cook uniformly. Costco or Whole Foods carry great pre-cut options, but if you're buying whole, trim the skin yourself. The yogurt matters too: full-fat Greek yogurt (like Fage) gives the marinade that signature tang and creaminess. Look for plain yogurt without additives—the kind with live cultures works best. For the garam masala, MDH or Patanjali are solid brands, but if you can't find them, any well-spiced blend will do.
No garam masala? Mix 1 tsp each of cinnamon, cardamom, and cloves for a quick substitute. Fresh ginger and garlic are non-negotiable here—they're what gives the sauce that bright, aromatic punch. Substitute with 1 tbsp ground ginger and 1.5 tbsp garlic powder if you're in a pinch, but trust me, fresh is worth it. The tomato purée can be homemade (just blend canned tomatoes) or store-bought—Rao's or Mutti are my go-tos. For the coconut milk, use full-fat only—the creaminess is what makes this sauce sing.
Marinate the chicken for at least 4 hours (overnight is best) in the fridge. The sauce keeps well—3-4 days in the fridge or 3 months frozen. I always double the batch because it reheats beautifully. Store leftovers in airtight containers with a splash of water to keep the sauce from drying out. The charred chicken pieces? Freeze them separately if you want to use them in wraps or salads later.
Why You'll Love This Recipe
- No-Yogurt Waste: I marinate the chicken thighs in plain and Greek yogurt until they’re tender—then use every last bit of that tangy marinade in the sauce. No scraps, no guilt, just pure flavor.
- Creamy Without Heavy: The coconut milk gives it that luscious, restaurant-style richness, but it’s lighter than the heavy cream versions I’ve tried. Plus, it balances the garam masala’s warmth like a dream.
- Leftovers That Shine: This reheats like a champ—better the next day, honestly. I double the batch on Sundays and freeze half for lazy nights when I just want that smoky, spiced comfort.
- Budget-Friendly Luxury: Chicken thighs are forgiving and cheap, and the yogurt marinade keeps them juicy. Garam masala and cumin cost pennies but make it taste like you spent hours (when you really didn’t).
Step-by-step instructions for authentic chicken tikka masala with coconut milk
Here's how to make restaurant-quality tikka masala at home—creamy, aromatic, and packed with authentic North Indian flavors.
Marinate the Chicken for Maximum Flavor
In a large bowl, combine the 2.5 lb boneless chicken thighs with the 1 cup plain yogurt, 0.5 cup Greek yogurt, 2 tbsp garam masala, 1.5 tbsp ground cumin, 1 tbsp ground coriander, and 1 tsp turmeric powder. Mix until the chicken is fully coated in the marinade. Here's the thing—let it sit uncovered in the refrigerator for at least 4 hours (overnight is even better). This resting time allows the spices to penetrate deeply, ensuring tender, flavorful meat.
While it marinates, grate the 2 tbsp fresh ginger and mince the 6 cloves garlic. Add these to the marinade along with 2 tbsp lemon juice and mix again. The lemon juice brightens the flavors and helps tenderize the chicken. If you're using the 0.25 cup fresh fenugreek leaves, chop them finely and add them now—they'll infuse the marinade with their distinctive, slightly bitter note.
Grill the Marinated Chicken
Preheat your grill to medium-high heat (around 375°F). Remove the chicken from the marinade, shaking off any excess, and grill for 4-5 minutes per side until the chicken is golden brown and cooked through (internal temperature should reach 165°F). Don't overcrowd the grill—this ensures even cooking and those beautiful grill marks.
If you don't have a grill, use a skillet with 0.25 cup olive oil over medium-high heat. The chicken should sizzle and develop a nice crust. Once cooked, transfer the chicken to a plate and let it rest for 5 minutes before slicing. This resting period keeps the meat juicy and makes it easier to slice evenly.
Build the Creamy Coconut-Tomato Base
In the same skillet (or a large pot if using the stovetop), add 0.25 cup olive oil and let it heat over medium heat. Add the reserved marinade (strain it if you prefer a smoother sauce) and cook for 5 minutes, stirring constantly, until it thickens slightly. This step deepens the flavors by caramelizing the spices.
Pour in the 1.5 cups tomato purée and the 1 can coconut milk. Stir well and bring to a gentle simmer. Let it cook uncovered for 10-12 minutes until the sauce thickens and the flavors meld together. You'll notice the sauce will reduce slightly, becoming richer and more concentrated. Taste and adjust seasoning with salt if needed—this is where the sauce comes together.
Finish with Fresh Herbs and Serve
Once the sauce is thick and creamy, return the sliced chicken to the skillet and simmer for another 3-4 minutes, allowing the chicken to absorb the flavors. Stir in the 0.25 cup fresh cilantro and 0.25 cup fresh fenugreek leaves (if using) just before serving. These herbs add a bright, fresh finish that cuts through the richness of the coconut and spices.
Serve the chicken tikka masala hot over basmati rice or with naan bread. The sauce should be velvety, with a perfect balance of smoky, spicy, and creamy flavors. For extra authenticity, garnish with a sprinkle of garam masala and a drizzle of lemon juice before serving. This dish is even better the next day as the flavors continue to develop!
Pro Tips For Making Authentic Chicken Tikka Masala Recipe With Coconut Milk
- Marinate Overnight (Not Just Hours): I used to rush the marinade—big mistake. Chicken thighs need at least 8 hours in the yogurt mix (plain + Greek, 1:1) with garam masala and cumin. The acid tenderizes deeper, and the spices cling better. Skip this, and you’ll end up with flavor just sitting on top instead of soaking in.
- Toast Spices Low and Slow: After burning three batches of garam masala, I learned: toast ground cumin and whole spices (if using) in coconut milk over low heat for 5 minutes. Too hot, and it scorch-burns before the coconut flavor even wakes up. Let it simmer gently—this builds aroma without bitterness.
- Dry the Chicken First: Pat those thighs thoroughly with paper towels before marinating. Wet skin = uneven browning later. I know, it feels tedious, but dry chicken sears better and absorbs the yogurt marinade more evenly. Trust me, the crust makes all the difference when you grill or pan-fry.
- Strain the Coconut Cream: Store-bought coconut milk has watery sediment that turns your sauce grainy. After simmering the sauce, let it cool 5 minutes, then strain through a fine-mesh sieve into a clean pot. Sounds weird, but it works—your sauce will be silky, not chalky. (Yes, even if you’re impatient like me.)
Troubleshooting perfect results
Sauce Too Thin?
If your sauce ends up watery, don’t panic—simmering longer is the key. Reduce the heat to low and let it cook uncovered for an extra 5-10 minutes, stirring occasionally.
The coconut milk will thicken as it evaporates, but if it’s still too thin, mix 1 tbsp cornstarch with 2 tbsp cold water, stir it in, and simmer for 2 more minutes. Trust me, this trick works like magic! 💫
Chicken Overcooked?
Chicken that’s dry or tough usually means it was overcooked or didn’t rest long enough. Next time, pull it off the grill or skillet when it reaches 160°F internal temperature (not 165°F) and let it rest for 10 minutes before slicing.
The residual heat will carry it to 165°F safely. Also, avoid overcrowding the grill—this traps steam and keeps the meat juicy. 🍗
Spices Too Strong?
If your dish tastes overwhelmingly spicy, balance it with a splash of lemon juice or yogurt to cool things down. For a smoother sauce, strain out the marinade solids before adding it to the coconut milk mixture.
You can also reduce the amount of garam masala by ½ tsp in future batches—start with 1.5 tbsp instead of 2 tbsp if you’re sensitive to spice. 🌶️
Coconut Flavor Overpowering?
The coconut milk should enhance, not dominate, the dish. If it’s too sweet or coconut-forward, add ½ cup tomato purée or ½ cup heavy cream to dilute it slightly. For a more balanced flavor, use a light coconut milk (like Coconut Bliss Light) instead of full-fat.
A pinch of salt can also help round out the flavors. 🥥
Sauce Separating?
If your sauce looks curdled or separated, it’s likely from the coconut milk reacting to heat or acidity. Fix it by whisking in 1 tbsp plain yogurt or 1 tbsp cornstarch slurry and simmering gently for 3-5 minutes.
Stir constantly to prevent lumps. For next time, avoid adding the lemon juice to the sauce until the very end—this helps prevent separation. 🔥
Marinade Not Sticking?
If your chicken isn’t absorbing the marinade, pat the pieces dry with paper towels first—this helps the spices cling better. Also, make sure your yogurt isn’t too thick; if it is, thin it with 1 tbsp water.
For extra adhesion, coat the chicken in a thin layer of olive oil before adding the marinade. This creates a barrier that keeps the spices in place. 💡
Nutrition facts
Frequently asked questions
Can I substitute coconut milk with heavy cream?
The coconut milk adds a subtle sweetness and luxurious creaminess that's hard to replicate. If you must substitute, use ½ cup heavy cream plus ½ cup tomato purée to maintain balance. The coconut flavor is what makes this version truly special—it rounds out the spices beautifully without overpowering them.
How do I get that perfect restaurant-style char on the chicken?
For authentic tandoori char, grill or broil the chicken at high heat (450°F) for 3-4 minutes per side until deeply browned. Use a grill basket or perforated pan to prevent flare-ups. If using a skillet, sear over medium-high heat with 0.25 cup olive oil until crispy edges form.
What's the best way to make this dish vegetarian?
Replace the chicken with 1.5 lb extra-firm tofu or 2 large eggplants, cubed and marinated in the same spice blend. Roast or grill the tofu/eggplant first, then simmer in the sauce. For extra protein, add 1 cup cooked chickpeas to the sauce during the last 5 minutes of cooking.
Can I make this in an Instant Pot?
Yes! Grill the chicken separately first, then sauté the marinade in the Instant Pot on sauté mode for 3 minutes. Add tomato purée and coconut milk, then pressure cook for 8 minutes on high. Release pressure naturally before adding the chicken back. The sauce will be slightly thicker than stovetop, so adjust with water or cream as needed.
How long will leftovers keep?
Store in an airtight container in the fridge for up to 4 days, or freeze for 3 months. The sauce actually improves overnight as flavors meld! Reheat gently on low heat, adding 1-2 tbsp water if it thickens too much. For best texture, reheat only until warmed through.
