Coconut Cod Curry With Spinach
Tender cod fillets poached in a fragrant coconut-tomato curry laced with garlic, ginger, turmeric, cumin, and coriander, finished with wilted spinach and cilantro over brown rice.
Why You'll Love This Recipe
This is a warming, one-skillet dinner for anyone who wants a nourishing meal without much fuss on a busy weeknight. Mild, flaky cod takes on the flavor of the sauce it cooks in, so even people who think they do not love fish tend to enjoy it here. It comes together in about the time it takes the brown rice to cook, and the whole thing happens in a single pan with a pot for the rice.
It starts with the spices hitting hot oil. Cooking the turmeric, cumin, and coriander in the hot olive oil with the onion, garlic, and ginger for a minute before the liquids go in wakes up their fat-soluble aromatic compounds, so the curry tastes round and layered rather than dusty. Poaching the cod gently right in the simmering coconut-tomato sauce keeps it moist and lets it absorb flavor, while the crushed tomatoes bring acidity that balances the richness of the coconut milk.
Protein from the cod, fiber and slow-burning carbohydrate from the brown rice, and iron-rich greens from the spinach, and all of it carried by a sauce with enough fat in it to feel indulgent. Nothing here reads as a compromise. The result is filling and steady rather than heavy, and the aroma of the warm spices makes it feel like comfort food you can lean on again and again.
Ingredients
- 4 cod fillets (about 600 g total)
- 1 1/4 cups light coconut milk
- 1 cup crushed tomatoes
- 5 cups fresh spinach
- 1 medium onion, diced
- 4 garlic cloves, minced
- 1 tbsp grated fresh ginger
- 1 tsp turmeric
- 2 tsp ground cumin
- 1 tsp ground coriander
- 3 tbsp olive oil
- 3 cups cooked brown rice
- 1/4 cup chopped cilantro
- 3/4 tsp salt
Instructions
- Cook the brown rice: Rinse the brown rice under cold water until it runs clear. Combine it with water in a saucepan, bring to a boil, then lower to a gentle simmer, cover, and cook until the grains are tender and the water is absorbed, about 40 to 45 minutes. Turn off the heat and let it sit, covered, for 5 minutes, then fluff with a fork.
- Prep the aromatics and greens: While the rice cooks, dice the onion, mince the garlic cloves, and grate the fresh ginger. Rinse the spinach and drain it. Rinse the cod fillets, pat them dry with paper towels, and check for any stray pin bones.
- Build the spiced base: Warm the olive oil in a deep skillet over medium heat. Add the onion and cook, stirring now and then, until soft and translucent, about 5 minutes. Stir in the garlic, ginger, turmeric, cumin, and ground coriander and cook until fragrant, about 1 minute, so the spices bloom in the oil without scorching.
- Simmer the sauce: Pour in the crushed tomatoes and light coconut milk and add the salt. Stir to combine, bring to a gentle simmer, and let it cook uncovered until slightly thickened and no longer watery, about 8 minutes.
- Poach the cod: Settle the cod fillets into the sauce in a single layer, spooning a little sauce over the top. Cover the skillet and cook over low heat until the fish turns opaque and flakes easily with a fork, about 8 to 10 minutes; the center should reach 145°F (63°C). Avoid stirring so the fillets stay intact.
- Wilt the spinach and serve: Add the spinach to the sauce around the fillets, a few handfuls at a time, and stir gently until it wilts down, about 2 minutes. Taste and adjust the salt. Chop the cilantro. Spoon the curry and cod over the brown rice and garnish with the cilantro.
Variations
- Turn up the heat: Add a minced fresh chile or a pinch of cayenne along with the spices, or finish with a swirl of chili crisp for a slow-building warmth that plays well against the coconut milk.
- Swap the greens: Trade the spinach for chopped kale or Swiss chard. Add sturdier greens a few minutes earlier so they have time to soften before the fish is done.
- Different fish: Use haddock, halibut, or pollock in place of cod. Any firm, mild white fish poaches the same way; thicker fillets may need a couple of extra minutes.
- Coconut-lime finish: Squeeze fresh lime juice over each bowl and add a little lime zest with the cilantro for a brighter, more citrus-forward version of the sauce.
- Add chickpeas: Stir a can of drained, rinsed chickpeas into the sauce before poaching the fish for extra plant protein and fiber; this adds legumes and makes the dish heartier.
Storage & Leftovers
Store leftovers in an airtight container in the refrigerator for up to three days. Keep the curry and rice together or separate, whichever you prefer; the flavors actually deepen overnight as the spices settle into the sauce.
Reheat gently in a covered skillet or saucepan over low heat, adding a splash of water or extra coconut milk to loosen the sauce, which thickens in the fridge. Warm just until heated through, since cod is delicate and can turn rubbery if it boils hard or overcooks in the microwave.
To get ahead, make the coconut-tomato sauce through the simmering stage a day in advance and refrigerate it. When you are ready to eat, bring it back to a gentle simmer, then poach the cod and wilt the spinach fresh so the fish stays tender and the greens stay bright.
Notes & Tips
- Buy the right cod: Look for fillets of even thickness so they cook at the same rate. Thawed frozen cod works well here; pat it very dry before it goes into the sauce so it poaches rather than steams in its own water.
- Check for pin bones: Run a finger along each fillet before cooking and pull any stray bones out with tweezers or clean fingers. Poached fillets are soft, so bones are easier to catch before they are buried in sauce.
- Fresh ginger matters: Grate ginger from a knob rather than using dried; it gives the sauce its bright, warming lift. Keep the unused piece in the freezer and grate it straight from frozen next time.
- Taste before you finish: Coconut milk and crushed tomatoes vary in richness and acidity between brands. Taste the sauce before adding the fish and adjust the salt, or add a small squeeze of lime if it tastes flat.
- Do not overcook the fish: Cod is done the moment it turns opaque and flakes with gentle pressure. Pull it off the heat right away, since it will keep cooking in the hot sauce for a minute or two.
- Round out the plate: A wedge of lime and warm flatbread on the side are both good for scooping up extra sauce, and either makes the meal feel a little more generous.
Nutrition & Mindful Eating
- The curry sauce, the fish and the rice underneath all need each other. The sauce is where every bit of the flavor gets built, the cod is mild enough to take it on, and the brown rice soaks up whatever runs off the fish.
- Cod is mild and fine-textured, which is exactly why it belongs in a sauce this assertive. It goes into the pan last and comes out barely firm, bringing complete protein and B12 to a dish that is otherwise vegetables and sauce.
- Brown rice keeps its bran, so it has a chew and a nuttiness that hold their own next to a rich sauce, and that bran is where its fiber and B vitamins sit.
- Spinach goes in by the handful at the end and disappears into the sauce within a minute, folding folate, plant iron and vitamin K into a curry that already tastes green from the cilantro.
- Cumin, coriander and turmeric go into the hot oil with the onion, ginger and garlic before anything wet joins them, and those few seconds when the spices meet the oil are when the whole dish starts smelling like dinner.
- As you eat, press the cod gently with your fork and watch it give way into the sauce, then take your time with the rice underneath so the meal lasts longer than the cooking did.
Frequently Asked Questions
Can I use frozen cod?
Yes. Thaw it fully in the refrigerator, then rinse and pat it very dry so excess water does not thin the sauce. Frozen-then-thawed cod poaches just as well as fresh in this curry.
Why is my sauce watery?
It usually needs more simmering time before the fish goes in. Let the crushed tomatoes and coconut milk bubble uncovered until slightly thickened, and be sure to pat the cod dry so it does not release extra liquid as it poaches.
Can I use full-fat coconut milk instead of light?
Yes. It makes a richer, more velvety sauce and adds more fat. You may want to loosen it with a splash of water and brighten it with a little extra lime or tomato to balance the added richness.
What can I serve this with besides brown rice?
The curry is loose and saucy, so it also works spooned over cauliflower rice, quinoa, or alongside warm flatbread for scooping. Any of these soak up the coconut-tomato sauce well.

