A few links to the tools and ingredients in this recipe are affiliate links, which may earn me a small commission at no extra cost to you.
A silky coconut curry built on a base of blended carrots, gently spiced and used to poach mild white fish until just flaky. Spinach wilts in at the end; jasmine rice catches everything.
While this dish draws on the traditions of coconut-and-spice curries across many cultures, it isnโt an authentic representation of any one cuisine โ itโs my take, built around what grows well and cooks fast.
Jump to:




Why This Recipe
- The curry base is one vegetable, blended smooth โ no paste, no jar.
- Carrots do the sweetness, coconut milk does the silk, turmeric and cumin and coriander do the warmth.
- The fish poaches right in the sauce, so it stays tender and picks up every layer of spice.
- Works across any firm white fish (sea bass, halibut, cod, snapper) or chickpeas for a vegetarian version.
Most coconut curries lean on a paste. This one leans on a vegetable.
Carrots, simmered until completely tender and blended into the broth, give this curry its body โ silky, lightly sweet, the color of a sunset. The spice profile stays simple: turmeric, coriander, cumin, a little cayenne if you want heat. Coconut milk goes in at the end so it reads bright rather than muddied, and a generous squeeze of lime lifts everything off the spoon.
I published an earlier version of this curry last year that poached sea bass into a similar sauce, but I kept coming back to it, and for the cookbook I wanted a version that worked on a Tuesday, not just a date night. The fish list widened so any firm white fillet works, spinach replaced bok choy because itโs easier to find year-round, and the spice list got trimmed to what actually pulls weight. For a vegetarian version, swap in a can or two of chickpeas and skip the poach.
A handful of spinach goes in just before the fish and wilts in under a minute. The fish poaches gently in the sauce, covered, until it flakes. Serve it over jasmine rice with cilantro and lime. Leftovers, if you get any, are better the next day.
Ingredient Highlights
Carrots. Look for medium-large carrots with tops still attached, the best signal of freshness. In Zone 10b theyโre a cool-season crop I direct-sow in October and pull through February; varieties like Scarlet Nantes or Danvers Half Long carry the sweetness this curry leans on. Long, thin carrots blend smoother than the chunky storage kind.
Ginger. Pick a knob that feels heavy and snaps cleanly when you break a piece off. Old ginger goes fibrous and dull. Stash leftovers wrapped tightly in the freezer and grate from frozen โ easier than fresh.
Subscribe
Join The Community Garden
More than a newsletter, this is the deeper story behind the seasons. Think exclusive recipes, urban gardening tips, personal updates, and the slow-living inspiration I donโt share anywhere else. Join Carmen In The Garden on Substack and dig in.

Spinach. Baby spinach wilts in seconds, which is what you want here. If youโre growing leafy greens, a young bunch of chard or kale (stems stripped, leaves shredded) substitutes well, with an extra 30 seconds in the pot. Bok choy works too, sliced thin.
Lime. Heavy for its size, thin and glossy skin. Thick-skinned limes are dry inside. One lime should give you the 2 tablespoons of juice you need, but grab a backup.
Cilantro. Stems and all, roughly chopped. The stems carry as much flavor as the leaves and add a little texture. If youโre cilantro-averse, Thai basil or scallion greens are both lovely.
Tips & Swaps
- Any firm, mild white fish works. Sea bass, halibut, cod, snapper, and rockfish all poach well. Thinner fillets are closer to 10 minutes, thicker ones closer to 14.
- For a vegetarian version, skip the fish and stir 1 to 2 cans of drained chickpeas into the finished curry to warm through. Use soy sauce or tamari in place of the fish sauce for fully vegan.
- Sub bok choy or chard for the spinach. Chard goes in a beat earlier โ its stems need a few extra seconds.
- The curry base holds 1 to 2 days in the fridge or up to 2 months in the freezer (sauce only). Reheat gently, then poach the fish at the last minute.
- If the curry tightens too much, thin with a splash of broth. If itโs looser than youโd like, simmer uncovered for a few extra minutes before adding the fish.
FAQ
What fish works best?
Any firm, mild white fish โ sea bass, halibut, cod, or snapper.
Can I make the curry ahead?
Yes, the sauce holds 1 to 2 days in the fridge. Poach the fish just before serving.
How do I make it vegetarian?
Swap the fish for chickpeas and use soy sauce in place of fish sauce.
Can I freeze the curry?
Yes, the sauce freezes well for up to 2 months. Thaw, reheat gently, then add fresh fish or chickpeas.
PrintCarrot Coconut Fish Curry
| Prep: 15 | Cook: 60 | Total: 75 |
A silky coconut curry built on a base of blended carrots, gently spiced and used to poach mild white fish until just flaky. Spinach wilts in at the end; jasmine rice catches everything.
Ingredients
- 1 1/2 tablespoons coconut oil
- 1 medium yellow onion, finely chopped
- 3 garlic cloves, roughly chopped
- 1 1/2-inch piece fresh ginger, peeled and grated
- 1 1/2 teaspoons ground turmeric
- 1 teaspoon ground coriander
- 1 teaspoon ground cumin
- 1/4 to 1/2 teaspoon cayenne pepper (optional)
- 5 large carrots, peeled and sliced
- 2 cups vegetable broth
- 1 (13.5-ounce) can full-fat coconut milk, well shaken
- 1 1/2 tablespoons fish sauce
- 2 tablespoons lime juice (from 1 lime)
- Kosher salt and freshly ground black pepper
- 4 cups packed baby spinach
- 1 pound firm-fleshed white fish fillets, such as sea bass, halibut, cod, or snapper
- Cooked jasmine rice, for serving
- 1/4 cup cilantro leaves, roughly chopped
- Lime wedges, for squeezing
Instructions
- Heat the coconut oil in a large deep skillet or wide pot over medium heat. Add the onion, garlic, and ginger and cook, stirring occasionally, until softened and fragrant, about 4 minutes. Add the turmeric, coriander, cumin, and cayenne (if using) and cook until the spices bloom and release their fragrance, about 1 minute more.
- Add the carrots and broth. Bring to a gentle simmer, then reduce the heat to low, cover, and cook until the carrots are completely tender, 20 to 25 minutes.
- Using an immersion blender, blend the curry directly in the pot until smooth and velvety. (Alternatively, carefully transfer to a blender and, working in batches with the steam vent open, blend, then return to the pot.) Stir in the coconut milk, fish sauce, and lime juice, then season with salt and pepper to taste. Stir in the spinach and cook just until it wilts, about 1 minute.
- Pat the fish dry and season all over with salt and pepper. Reduce the heat to low so the curry is just barely simmering, then gently nestle the fish into the sauce. Cover and cook until the fish is opaque and flakes easily when gently pierced with a knife in the center, 10 to 14 minutes, depending on thickness.
- Divide the rice among bowls. Ladle the curry over the rice and top with a piece of fish. Top with cilantro and serve with lime wedges for squeezing.
Notes
For a vegetarian version, skip the fish and stir 1 to 2 cans of drained, rinsed chickpeas into the finished curry to warm through. Use soy sauce or tamari in place of the fish sauce for a fully vegan version.
