Flaky cod braised in ginger-lime coconut milk with wilted spinach. Ready in 40 minutes — weeknight dinners don't get more satisfying.
<p>Cod in coconut milk is one of those combinations that sounds mild until you actually taste it — the fish drinks up the broth, the lime keeps it bright, and the ginger gives it backbone. The key move here is building a deeply aromatic base before the liquid ever hits the pan: bloom the ginger and shallots until they're sticky and fragrant, then deglaze with fish sauce and lime juice before adding the coconut milk. That two-minute step is what separates a flat, watery braise from one with actual depth.</p><p>The finished dish is silky and light — nothing heavy about it. Serve it straight from the skillet over steamed jasmine rice to soak up the broth, or with crusty bread if rice isn't happening. This is a 40-minute weeknight meal that looks like you planned ahead. If your cod is falling apart before it's cooked through, your heat is too high — drop it to medium-low and cover the pan.</p>
🛒 Links may earn us a small commission at no cost to you.
🛒 We may earn a small commission at no extra cost to you. We only recommend gear we'd use ourselves.
<p>Steamed jasmine rice is the obvious move here, and for good reason — it soaks up the coconut broth without competing with the ginger and lime. Cook it plain; no butter, no additions. Two cups dry rice will cover four people comfortably.</p><p>For wine, reach for an off-dry Alsatian Riesling or a Gruner Veltliner. Both have enough acidity to cut through the coconut fat and the stony minerality to echo the fish without drowning the citrus. Avoid oaky Chardonnay — it'll fight the lime. If beer is more your speed, a Thai-style lager like Singha or Chang works exactly as intended: cold, crisp, and background.</p><p>A simple cucumber salad dressed with rice vinegar, a pinch of sugar, and sliced scallions makes a clean counterpoint — the cool crunch against the warm braise is a contrast that actually works. Skip heavy, creamy sides entirely.</p><p>Non-alcoholic: a tall glass of sparkling water with a squeeze of fresh lime and a few torn mint leaves holds up well alongside this dish. The carbonation cuts the richness of the coconut the same way acidity does in wine.</p>
<p>For a dairy-free and lighter version, swap full-fat coconut milk for light coconut milk — the braise will be thinner, so reduce the braising liquid by half before adding the fish (about 4 minutes of simmering uncovered). The flavor is still there; the body just won't be as rich. This version also cuts roughly 80 calories per serving.</p><p>Swap the cod for another firm white fish: halibut steaks, mahi-mahi, or sea bass all work well with identical timing. Thinner fillets like tilapia will cook in 6–8 minutes instead of 10–12, so watch them closely. Avoid salmon here — its fat content and strong flavor don't play well with coconut and lime the way white fish does.</p><p>To make this vegetarian, replace the cod with two 14-oz blocks of extra-firm tofu, pressed and cut into 1-inch slabs. Sear the tofu in the same skillet for 3 minutes per side before building the braise, and swap the fish sauce for 1.5 tbsp soy sauce plus 1/2 tsp rice vinegar. The braising time drops to 8 minutes since you're just heating through.</p><p>For a spicier version, add 1–2 thinly sliced Thai bird chiles with the shallots, or stir in 1 tbsp sambal oelek when you add the coconut milk. Both options scale up cleanly. The lime and coconut are sturdy enough to hold the heat without losing the dish's character.</p>
Yes, but thaw them completely in the refrigerator overnight before cooking. Pat them very dry with paper towels — frozen fish releases more moisture, and excess water in the pan will thin your braise and prevent the fish from taking on any color. Do not cook from frozen in this recipe.
The broth base (everything up to adding the fish) can be made up to 2 days ahead and refrigerated. When ready to eat, reheat the broth in the skillet over medium until it's gently simmering, then add the fish and proceed. Don't braise the cod ahead — it'll overcook on reheating and fall apart.
Transfer cooled leftovers to an airtight container and refrigerate for up to 2 days. The fish will continue to absorb the broth, so the texture changes slightly — still good, just softer. Reheat gently in a covered skillet over low heat with a splash of water to loosen the sauce, about 5 minutes.
Freezing is not recommended for the finished dish — cod becomes rubbery and grainy after freezing and thawing. You can freeze the coconut broth base alone (without the fish) for up to 1 month; thaw it overnight in the fridge, reheat, and braise fresh fish to order.
That's normal — it just means the cream has separated from the liquid. Scoop the whole contents into the pan and stir as it heats; it will homogenize within 60–90 seconds. Use full-fat Thai Kitchen or Chaokoh brand for the best texture; some budget brands are too watery.
If the coconut milk splits into oily puddles and white solids, the heat was too high. This usually happens when the broth boils aggressively rather than simmers. Pull the pan off heat, let it cool for 2 minutes, add a 2 tbsp splash of warm water, and whisk vigorously — it should come back together. Going forward, keep it at a bare simmer: small bubbles, not a rolling boil.
Yes — baby spinach wilts faster (about 90 seconds versus 2–3 minutes for mature leaves), so stir it in right at the end, just before serving. It's more tender and slightly sweeter than mature spinach, which works fine here.
Fully cooked cod will be opaque all the way through and will flake cleanly when pressed gently with a fork at the thickest point. At 145°F internal temp, it's done. The flesh should look matte white, not translucent — if the center still looks glossy, give it 2 more minutes covered.
Yes, but use a 5-quart sauté pan or a wide Dutch oven instead of a 12-inch skillet to avoid crowding the fish. Doubling the aromatics and broth scales perfectly at 2x. The fish braising time stays the same — don't add time because you have more fish, just make sure the fillets are in a single layer.
Daily Home Cookery is self-funded. If something you cooked here made dinner a little better, a coffee keeps the kitchen running.
☕ Buy me a coffee
One pan, 45 minutes: crispy lemon garlic chicken with roasted potatoes, broccoli, and blistered tomatoes finished with balsamic. Real weeknight cooking.
Fast, crispy egg fried rice made in one wok in 10 minutes. Day-old rice, scrambled eggs, sesame oil — the technique that actually works on a home stove.
Sweet potato wedges roasted at 425°F, smoky black beans, and golden fried shallots — a weeknight vegetarian taco with real texture contrast.