This traditional Vietnamese soup balances sweet, sour, and savory flavors through fresh pineapple, tamarind, and fish sauce. tender white fish fillets simmer alongside tomatoes, okra, and bean sprouts in a fragrant broth infused with garlic and aromatics. Fresh Thai basil, sawtooth coriander, and cilantro add bright herbal notes just before serving. The dish naturally achieves that perfect harmony between tangy tamarind, tropical pineapple sweetness, and savory seafood depth. Best enjoyed with steamed jasmine rice, each bowl delivers layers of texture from crisp vegetables to tender fish pieces.
The steam rising from my grandmother's kitchen always smelled like tamarind and pineapple on rainy afternoons in Saigon. She would hum while chopping vegetables for this soup, the rhythm of her knife matching the rain against the tin roof. I remember watching her adjust the seasoning with the same careful attention she gave to everything, tasting and tweaking until the balance was just right. That first bowl taught me how sour and sweet and salty could dance together so perfectly you'd want to weep.
Last winter I made this for friends who were recovering from the flu, something restorative but bright enough to wake up tired tastebuds. They sat at my kitchen table wrapped in blankets, steam fogging up their glasses as they leaned over their bowls. One friend looked up after the first spoonful and said it felt like being hugged from the inside. That's exactly what Canh Chua should do.
Ingredients
- 500 g white fish fillets: Catfish is traditional but basa or tilapia work beautifully, just cut them into generous chunks that won't fall apart
- 8 large shrimp: Optional but so worth it if you can get them, peeled and deveined so they're easy to eat
- 2 medium tomatoes: Wedged thick so they hold their shape in the simmering broth
- 1 small pineapple: Fresh is non-negotiable here, that sweet-tart pop is essential to the soup's character
- 150 g bean sprouts: Added at the very end for that crucial crunch contrasting the tender broth
- 150 g okra: Sliced thin, they release just enough natural thickness to give the soup body
- 2 stalks celery or elephant ear stem: Elephant ear stem (bạc hà) is traditional with its subtle sassafras note, but celery works in a pinch
- 2 cloves garlic: Minced fine so they melt into the oil during the first sizzle
- 1 small onion: Sliced into half-moons, not too thin or they'll disappear completely
- 2 birds eye chilies: Leave the seeds if you like it spicy, remove them if you prefer gentler warmth
- 1.5 liters water or fish stock: Stock adds depth but water works perfectly if you season generously
- 3 tablespoons fish sauce: The salty backbone, add gradually and taste as you go
- 2 tablespoons tamarind paste: This is what gives the soup its signature sour punch, dissolve it in a little warm water first
- 1 tablespoon sugar: Just enough to round out the sharp edges and make the other flavors sing
- 1 teaspoon salt: Adjust based on whether your stock was already salted
- ½ teaspoon ground black pepper: Freshly ground makes a noticeable difference
- 20 g fresh Thai basil leaves: Torn gently by hand, scissors can bruise them too much
- 20 g sawtooth coriander: Also called ngo gai, it has this wonderful cilantro-meets-cilantro flavor you can't quite substitute
- 10 g fresh cilantro: Chopped right before serving so it stays bright and perky
- Lime wedges: For squeezing over at the table, that final bright note that pulls everything together
Instructions
- Build your aromatic foundation:
- Heat a splash of oil in your large pot over medium heat and let the garlic and onion sizzle gently until they're fragrant and just starting to color, about 2 minutes.
- Create the broth base:
- Pour in your water or fish stock, then stir in the tamarind paste, fish sauce, sugar, and salt until everything dissolves into a fragrant liquid.
- Bring it to a gentle boil:
- Let the broth come to temperature slowly, watching the steam rise and catching those first whiffs of what's to come.
- Add the hearty vegetables:
- Drop in your pineapple, tomatoes, okra, celery, and chilies, then let everything simmer for 5 to 7 minutes until they're just tender but still have some bite.
- Add the fish:
- Gently slip in those fish chunks and shrimp if you're using them, then lower the heat and simmer for another 5 to 7 minutes until the seafood is just opaque and cooked through.
- Finish with bean sprouts:
- Stir in the bean sprouts and cook for just 1 minute, they should still be crunchy and bright.
- Taste and balance:
- This is the moment that matters, add more fish sauce for salt, more sugar for sweetness, or a squeeze of lime for extra sour until the broth makes you sit up straighter.
- Add the fresh herbs:
- Remove from heat immediately and gently fold in the Thai basil, sawtooth coriander, and cilantro, letting them wilt slightly in the residual heat.
- Serve it up:
- Ladle into bowls while piping hot, passing extra herbs and lime wedges at the table so everyone can customize their bowl.
My friend Mai once told me that a good Canh Chua should make you feel like you're sitting on a plastic stool in Ho Chi Minh City, humidity in your hair and motorbikes whizzing past. I think about that every time I make it now, how food can transport you across oceans with just a spoon. Some recipes are just sustenance, but this one is a journey.
The Art of Balance
Vietnamese cooking is all about that perfect equilibrium between five elements, and this soup demonstrates the principle beautifully. You want enough sour from the tamarind to make your cheeks tingle, but balanced with sweetness from pineapple and the deep savory notes of fish sauce. I keep a small bowl of each seasoning nearby when I'm cooking, adding a pinch of this and a dash of that until the broth tastes complete. It's better to build flavor gradually than to try to fix it later.
Making It Your Own
The beauty of this soup lies in its adaptability while staying true to its soul. I've made versions with only vegetables during meatless months, added chunks of tofu for extra protein, or swapped in different fish based on what looked freshest at the market. The core elements remain, but the soup becomes a reflection of what's available and what you're craving. That's how home cooking should be, rooted in tradition but flexible enough for real life.
Serving Suggestions
A steaming bowl of Canh Chua deserves proper accompaniments to become a complete meal. I always serve it with fluffy jasmine rice that can soak up every drop of that precious broth, though vermicelli noodles work beautifully for a lighter version. The soup is substantial enough to stand alone as a main course, but a simple side of stir-fried greens or crispy spring rolls wouldn't be unwelcome. Consider setting out small dishes of extra fish sauce and chili paste at the table so everyone can adjust their bowl to their liking.
- Cook the rice before you start the soup so everything comes together at the same time
- Have your herbs prepped and ready before you begin cooking, they need to be added at the very end
- Squeeze fresh lime over individual bowls rather than into the pot for brighter, more vibrant flavor
There's something deeply comforting about a soup that can wake up your palate while simultaneously soothing it. I hope this recipe finds its way into your regular rotation, becoming one of those meals you turn to without thinking when you need something that feels like home. Good food, like good memories, is meant to be shared.
Recipe FAQs
- → What makes Canh Chora unique compared to other Vietnamese soups?
-
The distinctive balance comes from tamarind paste creating natural tanginess while pineapple adds tropical sweetness. Unlike pho or bun bo, this sour soup focuses on the interplay between sour, sweet, and salty flavors rather than rich spices or meat-based broths. The fresh herbs are added at the end, preserving their aromatic qualities.
- → Can I make this soup vegetarian?
-
Yes, simply replace fish fillets with firm tofu cubes and use vegetable or mushroom stock instead of fish stock. Substitute fish sauce with soy sauce or a vegetarian fish sauce alternative. The tamarind, pineapple, and vegetables remain the same, maintaining that signature sweet-sour profile.
- → What fish works best for Canh Chora?
-
White fish fillets like catfish, tilapia, basa, or snapper are ideal because they hold their shape during simmering. Avoid delicate fish that might flake apart. The mild flavor allows the tamarind broth and vegetables to shine while providing substantial protein. Fresh shrimp can be added for extra seafood variety.
- → How do I adjust the sourness level?
-
The primary sour element comes from tamarind paste. Start with the recommended amount, then add more gradually if you prefer extra tang. Fresh lime wedges served alongside allow each person to customize the final brightness. Remember that the soup develops more depth after resting for 15-20 minutes before serving.
- → What should I serve with Canh Chora?
-
Steamed jasmine rice is the traditional accompaniment, soaking up the flavorful broth. Alternatively, vermicelli noodles work well for a lighter option. Serve with additional fresh herbs and lime wedges on the side. Some families also enjoy it with crispy fried shrimp cakes or grilled fish for a complete Vietnamese meal.
- → Can I prepare Canh Chora in advance?
-
The broth base can be made 1-2 days ahead and refrigerated, but add the fish just before reheating to prevent overcooking. Fresh herbs should be added right before serving for maximum flavor and appearance. The vegetables like okra and pineapple hold up well, though bean sprouts are best added during the final few minutes of cooking.