Beverages
This cod coconut milk recipe transforms delicate white fish into a luxurious, silky dish that balances rich coconut cream with bright tropical herbs. The secret lies in slow simmering cod fillets in coconut milk until they flake effortlessly, creating a dish that’s both elegant and comforting.
After years of refining this technique, I’ve found the right balance between tender fish and fragrant coconut—no dry or rubbery texture here.
The process is surprisingly straightforward: cod fillets are gently poached in coconut milk with aromatic ginger, lemongrass, and kaffir lime leaves, which infuse the liquid with layers of flavor.
A splash of lime juice at the end brightens the dish, cutting through the richness while preserving the natural sweetness of the coconut. What you end up with is a velvety, restaurant-quality soup that feels special enough for guests but simple enough for weeknight dinners.
This recipe delivers restaurant-quality results with minimal effort—just 30 minutes of active time and 15 minutes of hands-off simmering. The dish pairs beautifully with steamed jasmine rice or crusty bread to soak up every drop of that fragrant coconut broth.
Garnish with fresh cilantro and a drizzle of chili oil for a perfect balance of heat and brightness.
Perfect for pescatarians or anyone craving a light yet satisfying meal, this cod coconut milk dish is versatile enough for everyday dinners or special occasions. The technique works equally well with other white fish like haddock or halibut, making it a go-to recipe for quick, flavorful meals. Let’s get cooking!
Ingredients for cod coconut milk
Rich coconut milk meets delicate cod in this silky soup—just 14 ingredients for restaurant-quality flavor.
| Ingredient | Amount | Notes |
|---|---|---|
| Cod Fillets 🐟 | 1 ½ lb | Skinless, boneless, 6-8 oz each |
| Full-Fat Coconut Milk 🥥 | 2 cups | Canned, unsweetened, high-quality |
| Fresh Ginger 🌿 | 2 tbsp | Finely grated, aromatic |
| Lemongrass Stalks 🌱 | 2 whole | Bruised, lower 3 inches only |
| Kaffir Lime Leaves 🍋 | 4 whole | Fresh, torn into strips |
| Garlic Cloves 🧄 | 4 cloves | Smashed, not minced |
| Fresh Cilantro 🌿 | ¼ cup | Chopped, for garnish |
| Lime Juice 🍋 | 2 tbsp | Freshly squeezed |
| Chili Oil 🌶️ | 1 tbsp | Homemade or store-bought |
| Jasmine Rice 🍚 | 1 cup | Uncooked, for serving |
| Sea Salt 🧂 | 1 ½ tsp | Fine grain, for seasoning |
| Black Peppercorns 🌶️ | ½ tsp | Freshly cracked |
| Vegetable Oil 🫒 | 1 tbsp | For searing fish |
| Green Onions 🧅 | 2 whole | Sliced, for garnish |
The cod is non-negotiable here. Look for sustainably sourced fillets at specialty seafood markets or trusted grocery counters like Whole Foods or Trader Joe's. Avoid frozen unless it's vacuum-sealed—thawing compromises texture. For the coconut milk, Thai Kitchen brand delivers consistent quality, but check cans for expiration dates. Fresh ginger and lemongrass are worth the trip to the Asian market if you're near one; H Mart carries excellent selections. Kaffir lime leaves? Freeze extras—they'll last months and keep your pantry stocked for future Thai-inspired dishes.
No fresh lemongrass? Substitute 1 tbsp lemongrass paste or double the ginger. Kaffir lime leaves unavailable? Regular lime zest plus 1 tbsp lime juice mimics the citrusy aroma. For extra depth, add 1 star anise pod or 1-inch cinnamon stick to the simmering broth. The fish should be skinless and boneless—anything else risks rubbery texture. If using frozen cod, thaw it in the fridge overnight, never in hot water. The lime juice at the end is critical—Mexican Key lime juice adds a brighter punch than regular limes.
This dish reheats beautifully, though the texture suffers slightly. Store in an airtight container for up to 3 days in the fridge. For longer storage, freeze the broth separately from the fish—3 months max. The rice can be cooked ahead and reheated with a splash of water. Garnishes like cilantro and chili oil should be added fresh before serving. Double the broth if you're making it for a crowd—it's that good. Leftovers make excellent lunches with a sprinkle of extra chili oil for heat.
Why You'll Love This Recipe
- Minimal Chopping Required: I swear by this—just slice ginger, smash lemongrass, and toss in kaffir lime leaves. No dicing, no fuss, and the flavors still pack a punch.
- Creamy Crisp Magic: That full-fat coconut milk turns the cod into pure velvety goodness, while the ginger and lime leaves add a zingy kick. It’s the kind of balance that makes you go back for seconds.
- Weeknight to Dinner Party: Same recipe, different vibes—serve it over rice for a quick weeknight meal or plate it elegantly with herbs for a dinner guest showstopper. The coconut milk makes it feel special without extra effort.
- Leftovers That Don’t Suck: This dish actually tastes better the next day—reheat gently, and the flavors meld into something even richer. Honestly, I make it on Sundays just so I can have it for lunch.
Step-by-step instructions for cod coconut milk recipe
Transform delicate cod fillets into a velvety coconut soup infused with aromatic herbs and bright citrus notes.
Prepare the Herb and Aromatic Base
In a medium saucepan, combine the 2 cups full-fat coconut milk, 2 tbsp finely grated fresh ginger, 2 bruised lemongrass stalks (lower 3 inches only), 4 whole kaffir lime leaves (torn into strips), and 4 smashed garlic cloves. Bring to a gentle simmer over medium heat until the mixture reaches 185°F—just before it boils. You'll notice the lemongrass and lime leaves release their citrusy aroma and the garlic softens slightly.
Simmer uncovered for 10 minutes to allow the flavors to meld. This step builds the aromatic foundation of your soup—don't rush it. The coconut milk should develop a delicate golden hue and a subtle floral note from the kaffir lime leaves. Remove from heat and let steep for 5 minutes before straining through a fine-mesh sieve into a clean pot, pressing gently on the solids to extract maximum flavor. Discard the solids.
Sear the Cod Fillets
While the coconut base simmers, heat 1 tablespoon vegetable oil in a large skillet over medium-high heat until shimmering. Pat the 1.5 lb cod fillets dry with paper towels—this ensures a proper sear. Season each fillet generously with 1.5 tsp sea salt and 0.5 tsp freshly cracked black peppercorns, pressing the seasoning into the flesh.
Add the cod to the skillet and cook for 3-4 minutes per side until the edges turn opaque and the flesh flakes easily when tested with a fork. The fillets should develop a golden crust on the outside while remaining tender inside. Remove the cod and set aside on a plate. Keep the skillet warm for the next step.
Combine and Simmer the Soup
Return the strained coconut milk to the skillet and bring to a gentle simmer over medium-low heat. Add the seared cod fillets and cook for 2-3 minutes to infuse the soup with their delicate flavor. Stir in 2 tbsp freshly squeezed lime juice and 1 tbsp chili oil, letting the mixture simmer for 5 minutes to balance the richness of the coconut with bright acidity and subtle heat.
Taste and adjust seasoning—you may need a pinch more salt or lime juice to achieve harmony. The soup should be creamy yet light, with a delicate spice note from the chili oil. Remove the cod from the soup and set aside on a serving platter.
Prepare the Jasmine Rice and Garnish
Cook the 1 cup jasmine rice according to package instructions—typically a 1:2 rice-to-water ratio, simmered for 15 minutes until tender. While the rice cooks, finely chop 0.25 cup fresh cilantro and slice the 2 whole green onions. Return the cod fillets to the soup and gently stir in the chopped cilantro and green onions, allowing them to wilt slightly in the warm liquid.
Serve the soup immediately over the jasmine rice, spooning the creamy coconut broth generously over each portion. Garnish each serving with an additional sprinkle of green onions and cilantro for a vibrant finish. The contrast of the fluffy rice with the velvety soup creates a satisfying balance of textures, while the aromatic herbs elevate every spoonful.
Pro Tips For Making Cod Coconut Milk
- Prep Ginger Like a Pro: Use a microplane instead of grating—it keeps the ginger fine but releases more flavor without turning your sauce into a pulp. I learned this the hard way after straining out too much fiber from my first batch.
- Don’t Boil the Coconut Milk: Simmer the coconut milk on medium-low—never high heat. Full-fat coconut milk splits and curdles if you rush it, and you’ll end up with a greasy mess instead of a silky sauce. Trust me, the extra 5 minutes saves you from disaster.
- Pound the Lemongrass First: Lightly crush the lemongrass stalks with the flat side of a knife before adding them to the pot. It releases more oil and aroma, giving your dish that bright, citrusy backbone without overpowering the cod. (Yes, even if you’re impatient like me.)
- Test Cod at 120°F: Pull the cod when the center hits 120°F—it’ll keep cooking in the residual heat and finish at 145°F, just right. Overcooking turns it rubbery, and nobody wants sad, dry fish in a creamy coconut sauce. A cheap instant-read thermometer changes everything.
Serving suggestions for this cod coconut milk
Rice Pairing Perfection
Jasmine rice is my go-to base for this dish—its delicate floral aroma complements the coconut milk beautifully. Cook 1 cup uncooked jasmine rice with 2 cups water and a pinch of salt, simmering for 15 minutes until tender.
The slightly sticky texture soaks up the coconut broth perfectly, creating a satisfying contrast. For extra fluffiness, spread the cooked rice on a tray and let it cool slightly before serving. 🍚
Crusty Bread Alternative
If you prefer a bread-based option, serve with crusty sourdough or baguette slices. Toast them lightly in the oven until golden, then let guests tear and dip into the rich coconut broth.
I love using Breads Bakery's sourdough from local markets—its open crumb structure makes it ideal for soaking up every drop. For a gluten-free option, try Canyon Bakehouse gluten-free bread, which holds up surprisingly well. 🥖
Fresh Herb Garnishes
Fresh cilantro and green onions are essential for that restaurant-quality finish. I chop ¼ cup cilantro and 2 green onions into fine slivers, then sprinkle them over each serving just before eating.
For an extra pop of color, add thinly sliced Thai basil leaves—their anise-like flavor pairs wonderfully with the coconut. Keep these garnishes separate until serving to maintain their vibrant colors and fresh aromas. 🌿
Spicy Chili Oil Drizzle
No cod coconut milk dish is complete without that signature chili oil drizzle. I make my own by blending ½ cup neutral oil with 2 tbsp chili flakes and 1 tsp garlic powder, then straining through cheesecloth.
For store-bought convenience, La Choy chili oil works perfectly. Drizzle 1 tbsp per serving just before eating—it adds a smoky, fiery contrast that cuts through the coconut richness. 🌶️
Citrus Zest Finish
Brighten the dish with a final touch of citrus. I finish each serving with ½ tsp lime zest and a few drops of fresh lime juice. The zest adds aromatic complexity while the juice prevents the coconut from tasting too heavy.
For a visual pop, arrange the zest in a circular pattern on top of the rice before spooning the soup over it. 🍋
Vegetable Sides
For a lighter meal, pair with steamed or blanched vegetables. I love sugar snap peas or bok choy—both hold their texture well when cooked al dente. Toss them with 1 tsp sesame oil and a pinch of salt before serving.
The crispness contrasts beautifully with the creamy soup, adding freshness to every bite. 🥦
Nutrition facts
Frequently asked questions
Can I substitute coconut milk with another dairy or plant-based option?
While coconut milk is essential for that signature creamy texture and tropical flavor, you can use light coconut cream (1:1 ratio) or even half-and-half in a pinch—but expect less richness. For plant-based alternatives, cashew cream (blended soaked cashews) works well, though it lacks coconut's natural sweetness. Never use water or low-fat milk—they'll make the dish watery and dilute the flavors.
How do I prevent the cod from turning rubbery in coconut milk?
Rubbery cod happens when it overcooks in liquid. First, sear the fish properly (3-4 minutes per side) before adding it to the coconut milk—this builds flavor and texture. Then, simmer the cod in the coconut broth for only 2-3 minutes (not longer) to warm through without breaking down the proteins. Keep the heat medium-low and avoid boiling.
What’s the best way to store leftovers?
Store the soup and rice separately in airtight containers for up to 3 days in the fridge. Reheat the broth gently on the stove, then add the cod back in to warm through—never microwave cod directly as it can dry out. For longer storage, freeze the broth (without cod) for 3 months, and thaw overnight in the fridge. The rice reheats best with a splash of water.
Can I make this dish ahead of time for a party?
Prep the coconut broth base 1 day ahead and store it refrigerated. On serving day, sear the cod fresh, add it to the warm broth, and finish with lime juice and garnishes. Keep the rice separate until serving to prevent sogginess. For a crowd, double the broth and serve in a slow cooker on low heat—just add the cod 10 minutes before serving.
What if I can’t find kaffir lime leaves?
No worries! Replace them with 1 tbsp lime zest + 1 tbsp lime juice for a similar citrusy brightness. For extra depth, add ½ tsp coriander seeds (toasted and ground) or 1 bay leaf to the broth. The dish will still be delicious—just slightly less aromatic.
