Thai coconut fish stew is a gently spicy, fragrant bowl of flaky fish simmered with coconut milk, red curry paste, vegetables, lime, and fresh herbs. Thai coconut curries and soups vary by region and household; this easy stovetop version brings together familiar Thai flavors and is especially good served over jasmine rice.
Ingredients
- 1 1/2 lb (680 g) firm white fish fillets, such as cod, haddock, halibut, or snapper, cut into 1 1/4-inch (3 cm) pieces
- 1 tablespoon (15 ml) neutral oil, such as canola or avocado oil
- 2 tablespoons (30 g) Thai red curry paste, or more to taste
- 1 medium shallot, finely chopped, about 1/3 cup (50 g)
- 3 garlic cloves, finely chopped, about 1 tablespoon (9 g)
- 1 tablespoon (6 g) finely grated fresh ginger
- 1 lemongrass stalk, tough outer layers removed and tender part bruised, about 15 g
- 1 medium red bell pepper, thinly sliced, about 1 1/2 cups (150 g)
- 1 cup (100 g) trimmed green beans, cut into 1-inch (2.5 cm) pieces
- 1 can coconut milk, 1 2/3 cups (400 ml), well shaken
- 1 cup (240 ml) low-sodium seafood or chicken broth
- 1 tablespoon (15 ml) fish sauce
- 1 teaspoon (4 g) light brown sugar
- 3 makrut lime leaves, torn once, or 1 teaspoon finely grated lime zest as a substitute
- 2 tablespoons (30 ml) fresh lime juice, plus more to taste
- 1/2 cup loosely packed Thai basil leaves (about 12 g), or regular basil
- 1/4 cup chopped fresh cilantro (about 4 g)
- 1 Thai bird’s-eye chile, thinly sliced, optional; remove the seeds for less heat
- 1/4 teaspoon fine salt (1.5 g), only if needed after tasting
Instructions
- Prepare the fish and vegetables. Pat the fish dry and cut it into evenly sized pieces so they cook at about the same rate. Chop the shallot, garlic, ginger, bell pepper, and green beans. Shake the coconut milk can well before opening. This preparation takes about 20 minutes; keep the fish refrigerated until you are ready to add it to the pot.
- Fry the curry paste. Warm the oil in a medium Dutch oven or heavy saucepan over medium heat. Add the curry paste and cook for 2 minutes, stirring constantly, until it smells fragrant and loosens in the oil. If it begins to stick, lower the heat and stir in a spoonful of the coconut milk rather than letting it scorch.
- Soften the aromatics and vegetables. Add the shallot, garlic, ginger, and bruised lemongrass. Stir for 1 minute, then add the bell pepper and green beans. Cook for 4 minutes, stirring now and then. The vegetables should start to soften but still hold their shape; they will finish cooking in the broth.
- Make the coconut broth. Pour in the coconut milk and broth. Add the fish sauce, brown sugar, and torn makrut lime leaves. Stir to dissolve the curry paste into the liquid, then bring the stew to a gentle simmer. Simmer uncovered for 8 minutes, keeping the heat low enough that the coconut milk bubbles softly rather than boiling hard.
- Cook the fish. Nestle the fish pieces into the simmering broth in a single layer as much as possible. Simmer gently for about 7 minutes, turning the pieces once with a spoon if they are not mostly submerged. Check the thickest piece with a food thermometer: USDA FSIS lists 145°F (63°C) as the safe minimum internal temperature for fish. The flesh should also look opaque and separate easily into flakes. If it has not reached temperature, simmer in 1-minute increments and check again; avoid stirring vigorously, which can break the fish apart.
- Finish and taste. Remove the lemongrass stalk and lime leaves if you can easily find them. Stir in the lime juice, Thai basil, cilantro, and optional chile. Taste the broth before adding salt: curry paste and fish sauce vary in saltiness, so you may not need any. Add extra lime juice for brightness or a little more curry paste stirred into a spoonful of broth for more heat. Serve while hot.
Tips
- Choose fish that holds together. Cod, haddock, halibut, and snapper work well when cut into generous pieces. Very thin fillets can overcook quickly, while delicate fish may break apart as you serve. If using frozen fish, thaw it safely in the refrigerator and pat it dry before cooking.
- Adjust the curry paste gradually. Brands and varieties differ in heat and salt. Start with 2 tablespoons, taste the broth after it simmers, and add more only if you want a stronger curry flavor. For a milder stew, use less paste and skip the fresh chile.
- Make a practical lime-leaf swap. Makrut lime leaves add a distinctive citrus-floral aroma and may be hard to find. If unavailable, use finely grated zest from one lime, added with the lime juice at the end. Zest gives a clean citrus note but does not fully reproduce the leaves’ perfume. Avoid substituting a large amount of bottled lime juice for fresh juice, since it can taste flatter.
- Keep the simmer gentle. A hard boil can make coconut milk look separated and can break the fish into small pieces. A slight change in the broth’s appearance is not a safety issue, but low heat gives the stew a smoother texture and helps the fish cook evenly.
Serving Suggestions
Serve the stew in shallow bowls with steamed jasmine rice, which soaks up the coconut curry broth. For four servings, about 1 1/2 cups (285 g) uncooked jasmine rice cooked according to its package directions is a useful amount. Sticky rice is another good option, while rice noodles make a lighter, slurpable base; cook noodles separately and divide them among bowls before ladling the stew over them.
Set lime wedges, extra basil or cilantro, and sliced chile on the table so everyone can adjust their bowl. A crisp cucumber salad or lightly dressed shredded cabbage adds freshness alongside the rich broth. If serving with another dish, choose something simply prepared, such as steamed greens, so the curry’s lime, herbs, and fish remain the focus.
Variations
Use shrimp instead of fish: Replace the fish with 1 lb (450 g) peeled and deveined shrimp. Add them to the gently simmering broth and cook until opaque and firm, checking that they reach 145°F (63°C) with a food thermometer. Shrimp cook quickly, so begin checking after a few minutes rather than using the fish timing automatically.
Add other vegetables: Thinly sliced zucchini, mushrooms, baby corn, or snow peas can stand in for some or all of the green beans. Add firm vegetables with the bell pepper; add quick-cooking snow peas during the last few minutes of simmering. Keep the total vegetable amount close to the listed amount so the broth remains plentiful.
Make it less rich or more filling: For a lighter broth, replace up to half of the coconut milk with additional broth; the stew will taste less creamy. For a heartier bowl, add 1 cup (150 g) cubed pineapple or 1 cup (150 g) diced tomato with the broth, or stir in cooked rice noodles at serving time. These additions shift the flavor, so taste and adjust the lime and fish sauce at the end.
Storage and Reheating
For food safety, refrigerate the stew within 2 hours of cooking, dividing it into shallow airtight containers so it cools promptly. Keep it refrigerated at 40°F (4°C) or colder and use it within 3 to 4 days. The fish may become softer after storage, so handle portions gently. If you know you will have leftovers, serving rice separately helps it keep a better texture.
To reheat, warm a portion in a small covered saucepan over low to medium-low heat, stirring carefully once or twice. Heat leftovers to 165°F (74°C), checking with a food thermometer, and avoid a rolling boil. Add a splash of broth or water if the coconut sauce has thickened. A microwave also works: cover loosely, heat in short intervals, and stir carefully between intervals so the center heats evenly. Freeze in a freezer-safe container for up to 2 months for best quality; thaw overnight in the refrigerator and reheat to 165°F (74°C). Fish can lose some tenderness after freezing and thawing.
Frequently Asked Questions
What fish is best for Thai coconut fish stew?
Choose a firm, mild fish that can be cut into chunks, such as cod, haddock, halibut, or snapper. Fresh or properly thawed frozen fillets both work. Avoid very thin pieces because they cook faster than the vegetables and are more likely to fall apart while serving.
Can I use light coconut milk?
Yes. Light coconut milk makes a thinner, less creamy broth, but the other ingredients and cooking method stay the same. For a middle ground, use half regular coconut milk and half broth. Shake the can well, and keep the stew at a gentle simmer rather than boiling it.
Is Thai red curry paste very spicy?
It can be, and heat varies between brands and batches. Begin with the listed 2 tablespoons, leave out the optional chile, and taste after the broth simmers. Add a little more paste if desired, dissolving it first in a ladleful of hot broth so it distributes evenly.
Can I make the broth ahead?
Yes. Make the broth through the 8-minute simmer, then cool it promptly and refrigerate it in a covered container for up to 3 days. Reheat it to a simmer, add the fish, and cook until it reaches 145°F (63°C). Add the lime juice and fresh herbs just before serving for a brighter flavor.
Why did my fish break apart?
Fish can break if it is cut too small, stirred vigorously, or simmered at a hard boil. Cut larger, even pieces, lower the heat before adding them, and gently spoon broth over the tops instead of stirring. Some flakes breaking away is normal and does not affect the stew’s flavor.
Related
- Portuguese Braised Beef Stew with Red Wine and Chouriço
- Red Thai Soup with Chicken and Coconut Milk
- Red Thai Pumpkin Soup with Coconut Milk
More recipes to cook
Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes
Spotted an error? Tell us and we will correct it (corrections policy).