This coconut fish curry serves four and uses 700 g of firm white fish simmered in a warmly spiced coconut sauce. You build the sauce first, then add the fish near the end so it stays tender instead of turning dry or breaking apart.
Use cod, haddock, halibut, pollock, or snapper cut into large pieces. Once you master the base, you can turn it into a Thai-style curry with red curry paste, lime, fish sauce, lemongrass, and fresh herbs.
Coconut Fish Curry Ingredients: 700 g Firm Fish, 400 ml Coconut Milk, and Measured Aromatics
Serves: 4
Prep time: 15 minutes
Cook time: 30 minutes
- 700 g firm white fish fillets, cut into 4–5 cm pieces
- 2 tablespoons neutral oil
- 1 medium yellow onion, finely chopped
- 4 garlic cloves, minced
- 1 tablespoon grated fresh ginger
- 2 teaspoons mild curry powder
- 1 teaspoon ground coriander
- ½ teaspoon ground turmeric
- ¼ teaspoon cayenne pepper, optional
- 1 medium tomato, finely chopped, or 200 g canned diced tomatoes
- 400 ml full-fat coconut milk
- 150 ml fish stock, vegetable stock, or water
- 1 teaspoon kosher salt, plus more to taste
- 1 tablespoon lime juice or lemon juice
- 2 tablespoons chopped cilantro
Choose pieces of similar thickness so they finish at the same time. Cod and haddock give you mild, flaky results; halibut and snapper hold their shape more firmly. Avoid very thin fillets, which can overcook before the sauce reaches the right consistency. Pat the fish dry and season it lightly with a pinch of salt just before cooking.
Build a Fish Curry With Coconut Milk: Sauté Aromatics, Bloom Spices, Then Simmer
- Heat the oil in a wide, deep skillet or Dutch oven over medium heat. Add the onion and cook for 5–6 minutes, stirring occasionally, until soft and translucent. Do not brown it heavily; a gentle sauté keeps the sauce balanced.
- Add the garlic and ginger. Cook for 1 minute, stirring constantly, until fragrant.
- Stir in the curry powder, coriander, turmeric, and cayenne, if using. Bloom the spices for 30 seconds. They should coat the onion and release a toasted aroma without darkening or burning.
- Add the chopped tomato and cook for 3–4 minutes, pressing it with your spoon until it softens and becomes saucy.
- Pour in the coconut milk and stock while scraping the bottom of the pan. Add 1 teaspoon salt, then bring the sauce to a gentle simmer over medium-low heat.
- Simmer uncovered for 8–10 minutes, stirring occasionally, until the sauce thickens slightly and the aromatics taste integrated. It should coat a spoon but remain loose enough to poach the fish.
For a smooth fish curry with coconut milk, blend the sauce briefly with an immersion blender before adding the fish. If you prefer texture, leave the onion and tomato visible. Taste the sauce now and adjust the salt before the fish goes in; seasoning becomes harder once the pieces are added.
Finish the Coconut Curry With Fish: Add Pieces Gently and Judge Doneness
Lower the heat so the sauce barely simmers. Arrange the fish pieces in a single layer, leaving a little space between them. Spoon sauce over the tops, cover the pan, and cook for 5–8 minutes, depending on the thickness of the fish.
Do not stir the curry with a spoon once the fish is in the pan. Instead, gently shake the pan once or twice to move the sauce around the pieces. Aggressive stirring can break delicate fish into the sauce. If some pieces are thicker than others, turn only the thinner pieces or remove them early with a slotted spoon.
The fish is done when the center changes from translucent to opaque and the flesh separates into large flakes when pressed gently with a fork. A thermometer inserted into the thickest piece should read 63°C. Stop cooking as soon as it reaches that point; residual heat will continue to cook the fish while it rests.
Remove the pan from the heat and stir in the lime or lemon juice. Taste and add more salt or acid if the coconut milk tastes too rich. Scatter the cilantro over the top. Serve the coconut curry fish with steamed jasmine rice, basmati rice, or warm flatbread, spooning plenty of sauce over each portion.
Thai Fish Recipes: One Thai-Style Variation With Curry Paste, Lime, Fish Sauce, and Herbs
This variation borrows a specific flavor path often found in thai fish recipes: fragrant aromatics, curry paste, creamy coconut milk, salty fish sauce, a little sweetness, sharp lime, and fresh herbs. It is not a universal formula for every Thai curry, but it gives the base a clear Thai-style direction.
Use these ingredients instead of the dry spices, tomato, lemon, and cilantro in the main recipe:
- 700 g firm white fish, cut into large pieces
- 1 tablespoon neutral oil
- 2 shallots, thinly sliced
- 3 garlic cloves, minced
- 1 tablespoon grated ginger
- 1½ tablespoons Thai red curry paste, or yellow curry paste for a milder result
- 1 lemongrass stalk, trimmed and bruised with the side of a knife
- 400 ml full-fat coconut milk
- 120 ml fish stock or water
- 1 red bell pepper, thinly sliced
- 1 tablespoon fish sauce
- 1–2 teaspoons brown sugar or palm sugar
- 1 tablespoon fresh lime juice, plus more to finish
- ½ cup Thai basil leaves or cilantro
- 1 fresh Thai chile, sliced, optional
- Heat the oil in a wide skillet over medium heat. Cook the shallots for 2–3 minutes until softened. Add the garlic and ginger and cook for 30 seconds.
- Add the curry paste and stir constantly for 1 minute. The paste should darken slightly and coat the aromatics. Add the bruised lemongrass and optional chile.
- Pour in about 100 ml of the coconut milk and stir until the paste dissolves. Simmer for 2 minutes, then add the remaining coconut milk, stock, bell pepper, fish sauce, and sugar.
- Simmer uncovered for 5–7 minutes, until the pepper softens and the sauce smells fragrant. Taste it before adding the fish: it should be creamy, salty, lightly sweet, and spicy.
- Reduce the heat to low and add the fish in a single layer. Cover and poach for 5–8 minutes, depending on thickness. Shake the pan gently rather than stirring.
- When the fish is opaque and flakes easily, remove the pan from the heat. Discard the lemongrass, stir in the lime juice, and adjust with extra fish sauce for salt or lime for brightness.
- Fold in the Thai basil or cilantro just before serving. Add more sliced chile if you want extra heat.
Serve this Thai-style fish coconut curry immediately with jasmine rice. Keep the fish in the hot sauce only long enough to reach doneness so the coconut-rich broth stays smooth and the pieces remain intact.
