Vietnamese fish soup, often made in the southern style known as canh chua cá, is a bright, gently sour broth with fish, tamarind, pineapple, tomatoes, and fresh herbs. The contrast of tangy broth, sweet fruit, tender fish, and crisp vegetables makes it lively without being heavy, and regional and family versions vary in their vegetables and level of sourness.
Ingredients
- 1 lb (450 g) boneless catfish or firm white fish fillets, such as tilapia, cod, or snapper, cut into 1½-inch (4 cm) pieces
- 8 cups (1.9 L) water or unsalted fish stock
- 2 tbsp (30 ml) tamarind concentrate, preferably unsweetened
- 1 tbsp (15 ml) neutral oil
- 1 medium shallot, finely chopped, about ¼ cup (40 g)
- 3 garlic cloves (9 g), finely chopped
- 1½ cups (225 g) fresh pineapple, peeled and cut into bite-size pieces
- 2 medium ripe tomatoes, cut into wedges, about 2 cups (300 g)
- 6 oz (170 g) okra, trimmed and sliced diagonally into ½-inch (1 cm) pieces
- 2 tbsp (30 ml) fish sauce, plus more to taste
- 1 tbsp (12 g) granulated sugar, plus more to balance the sourness if needed
- 1 tsp (5 g) fine salt, plus more to taste
- ¼ tsp (0.5 g) ground black pepper
- 2 cups (200 g) fresh bean sprouts, rinsed and drained
- ½ cup (15 g) chopped rice paddy herb, also called ngo om, or a mix of cilantro and Thai basil as a substitute
- ¼ cup (10 g) chopped sawtooth coriander, also called ngo gai, or cilantro as a substitute
- 1 tbsp (15 ml) lime juice, optional, for adjusting the finished soup
- 1 small red chile, thinly sliced, optional, for serving
Instructions
- Prepare the ingredients, about 25 minutes. Cut the fish into even pieces so they cook at about the same rate. Rinse it briefly under cold running water, pat dry, and keep it refrigerated while you chop the shallot and garlic, cut the pineapple and tomatoes, slice the okra, and rinse the bean sprouts and herbs. If your fish has skin or pin bones, remove them as needed. Measure the tamarind, fish sauce, sugar, salt, and pepper before you start cooking.
- Build the aromatic base, 3 minutes. Heat the oil in a large, heavy pot over medium heat. Add the shallot and cook for about 1 minute, stirring until softened but not browned. Add the garlic and cook for another 30 seconds, then stir in the pineapple and tomatoes and cook for about 1½ minutes. Keep the heat moderate; browned garlic can make the broth taste bitter.
- Make the sour broth, 8 minutes. Pour in the water or unsalted stock. Stir in the tamarind concentrate, fish sauce, sugar, salt, and black pepper. Bring the broth just to a boil, then lower the heat and simmer gently for 8 minutes so the pineapple begins to flavor the liquid. Taste carefully: tamarind products differ in strength, so add another teaspoon of concentrate if you want more tang, or a little sugar if the broth is sharply sour.
- Poach the fish, about 7 minutes. Keep the broth at a gentle simmer and slide in the fish pieces in a single layer as much as the pot allows. Simmer without vigorous stirring for 5 to 7 minutes, depending on thickness. Turn a piece gently once if it is not submerged. Check the thickest piece with a food thermometer; USDA FSIS guidance gives fish a safe minimum internal temperature of 145°F (63°C). Properly cooked fish should look opaque and separate easily with a fork, but avoid boiling it hard, which can make delicate pieces break apart.
- Add the vegetables, 5 minutes. Gently stir in the okra and simmer for 3 minutes, then add the bean sprouts for the final 2 minutes. The okra should be tender but not mushy, while the sprouts should retain a little crunch. Avoid stirring repeatedly; use a spoon to move ingredients carefully around the fish.
- Finish and season, 2 minutes. Turn off the heat and fold in the rice paddy herb and sawtooth coriander. Taste the broth and adjust with fish sauce for savoriness, sugar for balance, or the optional lime juice for a fresher sour note. Let the soup stand for 2 minutes, then ladle it into bowls with fish and vegetables distributed evenly. Add sliced chile at the table if desired.
Tips
- Adjust the sourness gradually. Tamarind concentrate varies considerably by brand and may be sweetened or very concentrated. Start with the listed amount, taste after the simmer, and add more a teaspoon at a time. Lime juice can sharpen the finished soup, but it gives a fresher citrus tang rather than tamarind’s rounded, fruity sourness.
- Choose fish that suits poaching. Catfish is a familiar choice for canh chua, while tilapia, cod, snapper, or another firm white fish is practical and widely available. Very thin fillets cook quickly and may fall apart; cut thicker fillets into similar-size pieces and add them only once the broth is gently simmering.
- Use the herbs you can find. Rice paddy herb and sawtooth coriander contribute a distinctive, fresh aroma. If they are unavailable, cilantro with a little Thai basil is a useful substitute, though the soup will taste less specifically herbal. Stir herbs in off the heat so their fragrance stays fresh.
- Keep the broth gentle. A rolling boil can break the fish and soften the vegetables too much. After adding the fish, maintain small, occasional bubbles and move the ingredients as little as possible. If using salted stock, reduce the added salt and adjust only after the soup has simmered.
Serving Suggestions
Serve the soup hot in individual bowls, making sure each bowl gets some fish, pineapple, tomato, okra, and broth. A bowl of steamed jasmine rice is the classic partner: eat a little rice between spoonfuls of soup, or spoon broth over the rice for a more filling meal. Plain rice noodles can also be served alongside or placed in the bowl before the soup is ladled over them, though noodles absorb broth quickly.
Set out extra fish sauce, lime wedges, sliced chile, and chopped herbs so everyone can tune their own bowl. The finished soup is already sour, savory, and lightly sweet, so add condiments a little at a time. For a simple meal, pair it with steamed greens or a plate of cucumber and lettuce. A small dish of pickled vegetables can provide an additional crisp, tangy contrast without competing with the broth.
Variations
Change the fish or seafood: Use salmon for a richer flavor, or add peeled shrimp during the final few minutes so it cooks through without turning tough. If combining seafood, add thicker fish first and quick-cooking shrimp later. Keep pieces fairly large; small flakes are more likely to disappear into the soup.
Use different vegetables: Vietnamese home-style versions vary. You can replace some of the okra with sliced taro stem, celery, or additional bean sprouts. Taro stem, sometimes sold as bạc hà in Vietnamese markets, has a light, absorbent texture that suits the broth; peel it and slice it before adding. If it is difficult to find, celery is convenient but has a firmer, more pronounced flavor. Add vegetables according to how long they need to become tender.
Make it more or less sour: For a deeper tamarind character, increase the concentrate in small increments. For a gentler bowl, start with 1 tablespoon (15 ml) and adjust after simmering. Some cooks lean on pineapple for sweetness, while others use a little more sugar; either approach is reasonable, and the balance depends on the fruit and tamarind available.
Adjust the heat: Leave the chile out of the pot and offer it on the side for a mild soup. For more heat throughout, add a sliced chile while the broth simmers, then remove it before serving if you do not want the slices in the bowls. This keeps the seasoning flexible for a mixed group.
Storage and Reheating
For food safety, refrigerate the soup within 2 hours of cooking. Divide it among shallow, covered containers so it cools promptly, and keep it refrigerated for 3 to 4 days. The fish will continue to soften as it sits in the broth, and bean sprouts lose their crispness, so the soup is best closest to the day it is made. If you expect leftovers, you can cook only the amount of fish and sprouts needed for the first meal and add freshly cooked portions later.
Reheat only the portion you plan to eat in a saucepan over medium-low heat, stirring gently and bringing the soup to 165°F (74°C), the USDA FSIS safe temperature for reheated leftovers. Avoid a prolonged hard boil, which can break up the fish. A microwave also works: cover the bowl loosely, heat in short intervals, and stir carefully between intervals so the soup heats evenly. Do not leave cooked soup at room temperature for more than 2 hours, or more than 1 hour when the room is above 90°F (32°C).
Freezing is possible for up to 2 to 3 months, although the fish may become softer and the vegetables may lose their texture. Cool and freeze promptly in airtight containers, leaving a little room for expansion. Thaw overnight in the refrigerator and reheat to 165°F (74°C). If texture matters, freeze the broth separately and add freshly cooked fish and vegetables after thawing.
Frequently Asked Questions
What fish is best for Vietnamese fish soup?
Catfish is a common choice, especially for a southern-style canh chua, but the recipe works with firm white fish such as tilapia, cod, or snapper. Choose boneless fillets if you want easy serving, and cut them into evenly sized pieces. Fresh or properly thawed frozen fish can be used; pat thawed fish dry before it goes into the pot.
Can I make canh chua without tamarind?
Yes. Lime juice is the simplest substitute: begin with 1 to 2 tablespoons (15 to 30 ml), stir it in at the end, and taste before adding more. Lime makes the broth brighter and more citrusy, while tamarind provides a deeper, fruitier sourness. Rice vinegar can work in a pinch, but use it sparingly because it gives a cleaner, sharper acidity.
Why is my fish soup cloudy or falling apart?
A cloudy broth is often caused by boiling the fish vigorously or stirring it repeatedly. Keep the liquid at a gentle simmer and add fish only after the broth has developed its flavor. Firm fish pieces and careful handling help them stay intact; if a few pieces flake, the soup is still fine to serve, though its appearance will be less clear.
Can I prepare the soup ahead?
You can chop the vegetables and herbs a few hours ahead and refrigerate them in separate covered containers. The broth base can also be cooked ahead, cooled, and refrigerated, then brought back to a simmer before adding the fish and quick-cooking vegetables. Cooking the fish just before serving gives it a better texture than holding it in hot broth for a long time.
Is Vietnamese fish soup supposed to be spicy?
Not necessarily. The chile is often optional or served at the table, so the sour, savory broth can remain mild. Add sliced chile to individual bowls for adjustable heat. The defining character of this version is its balance of tamarind, fish sauce, pineapple, fish, and fresh herbs rather than a required level of spiciness.
Related
- Jamaican Red Pea Stew with Coconut and Dumplings
- Taiwanese Sesame Oil Chicken Soup with Ginger
- Authentic Thai Soup: Tom Kha Gai 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).