Quick Recipe Version (TL;DR)
Quick Ingredients
- 1.5 lb (680 g) catfish steaks, 1-inch thick
- 2 tbsp neutral oil
- 3 cloves garlic, minced; 1 large shallot, thinly sliced
- 6 cups (1.4 L) water
- 3 tbsp tamarind concentrate (or see note for pulp)
- 3 tbsp fish sauce; 2 tbsp sugar; 1/2 tsp fine salt
- 2 cups (300 g) pineapple chunks
- 8 okra pods (160 g), trimmed and halved
- 2 medium tomatoes (250 g), cut into wedges
- 2 cups (120 g) bean sprouts
- 1/2 cup (10 g) chopped rice paddy herb (ngò om); 2 scallions, sliced
- Lime wedges, to serve
Do This
- 1. Lightly season catfish with 1/4 tsp salt and a pinch of pepper; set aside 10 minutes.
- 2. Sauté garlic and shallot in oil over medium heat until fragrant, 60–90 seconds.
- 3. Add water, tamarind concentrate, fish sauce, sugar, and 1/2 tsp salt; bring to a gentle boil.
- 4. Slide in catfish; simmer on medium-low 6–8 minutes until just cooked.
- 5. Add pineapple and okra; simmer 3–4 minutes. Add tomato; cook 2 minutes.
- 6. Off heat, stir in rice paddy herb, scallions, and bean sprouts. Taste and balance sour, sweet, salty. Serve with lime.
Why You’ll Love This Recipe
- Classic southern Vietnamese harmony of sour, sweet, and savory in a light, clear broth.
- Fast weeknight soup that tastes restaurant-worthy and uses simple pantry staples.
- Vibrant mix of textures: tender fish, juicy pineapple, silky tomato, and crisp sprouts.
- Fresh rice paddy herb finish keeps every spoonful bright and refreshing.
Grocery List
- Produce: Pineapple, tomatoes, okra, garlic, shallot, scallions, lime, bean sprouts, rice paddy herb (ngò om)
- Dairy: None
- Pantry: Catfish steaks, tamarind concentrate (or seedless tamarind pulp), fish sauce, sugar, fine salt, neutral oil, black pepper, jasmine rice (optional, for serving)
Full Ingredients
Fish
- 1.5 lb (680 g) catfish steaks, 1-inch thick (substitute equal weight of basa, tilapia, or salmon belly)
- 1/4 tsp fine salt
- 1/8 tsp ground black pepper
Broth & Seasoning
- 2 tbsp neutral oil (canola, grapeseed, or sunflower)
- 3 cloves garlic (9 g), minced
- 1 large shallot (50 g), thinly sliced
- 6 cups (1.4 L) water
- 3 tbsp tamarind concentrate
- 3 tbsp fish sauce
- 2 tbsp sugar (white or palm sugar), level
- 1/2 tsp fine salt
- Optional heat: 1 small bird’s eye chili, thinly sliced
- Optional: 1 small piece rock sugar (about 8 g) in place of part of the granulated sugar
Vegetables & Herbs
- 2 cups (300 g) fresh pineapple, bite-size chunks
- 8 okra pods (160 g), trimmed and halved crosswise
- 2 medium tomatoes (250 g), cut into wedges
- 2 cups (120 g) mung bean sprouts, rinsed and well-drained
- 1/2 cup (10 g) chopped rice paddy herb (ngò om)
- 2 scallions (20 g), thinly sliced
- Lime wedges, for serving
If Using Tamarind Pulp Instead of Concentrate
- 60 g seedless tamarind pulp
- 1 cup (240 ml) boiling water to soak, then strain to obtain tamarind liquid (use in place of the concentrate)

Step-by-Step Instructions
Step 1: Season the fish
Pat the catfish dry. Sprinkle evenly with 1/4 tsp salt and 1/8 tsp black pepper. Set aside at room temperature for 10 minutes while you prep the aromatics. This light seasoning helps the fish hold its shape and seasons it to the core.
Step 2: Make the tamarind base
If using tamarind concentrate, measure 3 tbsp and have it ready. If using seedless tamarind pulp, place 60 g in a heatproof bowl, pour over 1 cup boiling water, let sit 5 minutes, mash, then strain through a fine sieve. Discard solids; you now have tamarind liquid to use in place of the concentrate.
Step 3: Sauté aromatics
In a medium pot (4–5 quart), heat 2 tbsp neutral oil over medium heat. Add the sliced shallot and minced garlic and cook, stirring, until soft and fragrant, 60–90 seconds. If you like heat, stir in the sliced chili for 15 seconds.
Step 4: Build and season the broth
Pour in 6 cups water, then add the tamarind (concentrate or prepared liquid), 3 tbsp fish sauce, 2 tbsp sugar, and 1/2 tsp salt. Bring just to a gentle boil over medium-high, then reduce to a lively simmer. Taste the broth now—it should be bright-sour with gentle sweetness and savoriness. Adjust with a touch more fish sauce for saltiness or sugar for balance as needed.
Step 5: Poach the fish
Slide the seasoned catfish steaks into the simmering broth in a single layer. Lower heat to medium-low and simmer gently until the fish is opaque and flakes at the edges, 6–8 minutes. Skim any foam for a clear broth.
Step 6: Cook vegetables in stages
Add the pineapple and okra to the pot. Simmer 3–4 minutes until the okra is tender but not mushy. Add the tomato wedges and cook just until they begin to soften yet still hold shape, about 2 minutes.
Step 7: Finish with herbs and serve
Turn off the heat. Stir in the chopped rice paddy herb and sliced scallions, then add the bean sprouts so they stay crisp from the residual heat. Taste and fine-tune—add a squeeze of lime for extra brightness, a splash of fish sauce for salt, or a pinch of sugar to round the edges. Ladle into bowls, placing a piece of fish in each, and serve immediately with more lime on the side (and steamed jasmine rice if you like).
Pro Tips
- Balance to taste: The hallmark of canh chua is harmony. If it’s too sour, add 1/2 tsp sugar; if flat, add 1/2 tsp fish sauce; if dull, a squeeze of lime wakes it up.
- Keep it gentle: A rolling boil will break the fish apart and cloud the broth. Simmer steadily for a clear, elegant soup.
- Add veg at the end: Tomatoes and sprouts go in last to preserve their color and texture.
- Bone-in fish equals flavor: Steaks on the bone enrich the broth noticeably. If using fillets, consider adding a small piece of shrimp shell or fish bones to the simmer for depth, then strain.
- Rice paddy herb matters: Ngò om delivers the signature citrusy aroma—do not cook it long; add off heat.
Variations
- Shrimp canh chua: Replace fish with 1 lb (450 g) large shrimp, peeled and deveined; simmer shrimp 2–3 minutes only.
- Vegetarian: Use vegetable stock, 14 oz (400 g) firm tofu (cubed), and add mushrooms; season with soy sauce plus a dash of salt.
- Add bạc hà (taro stem): Stir in 2 cups sliced taro stem with the okra for classic southern crunch.
Storage & Make-Ahead
Refrigerate cooled soup (without sprouts and herbs) in an airtight container for up to 2 days. Keep herbs and bean sprouts separate and add after reheating so they stay fresh. Reheat gently over medium-low until steaming—avoid boiling to keep the fish tender. Freezing is not recommended (okra and tomatoes turn mushy).
Nutrition (per serving)
Approximate: 300 calories; 22 g carbohydrates; 29 g protein; 12 g fat; 1,250 mg sodium; 10 g sugars; 3 g fiber.
