This traditional Vietnamese soup showcases the perfect balance of sweet, sour, and savory flavors that define Southeast Asian cuisine. The foundation begins with a fragrant broth infused with tamarind paste, creating that distinctive tangy base that makes Canh Chora so refreshing.
White fish fillets and optional shrimp simmer alongside sweet pineapple chunks, juicy tomato wedges, and crisp okra. The medley of vegetables adds texture and depth while absorbing the complex broth. Bean sprouts provide a fresh crunch right at the end of cooking.
Fresh herbs are essential—Thai basil, sawtooth coriander, and cilantro are stirred in after removing from heat, preserving their delicate oils and vibrant aroma. A squeeze of fresh lime brightens each bowl.
Serve this comforting soup steaming hot over jasmine rice or alongside vermicelli noodles. The balance of flavors can be adjusted to taste—more tamarind for sourness, additional sugar for sweetness, or extra fish sauce for depth.
The first time my aunt made Canh Chua during a humid summer afternoon, I couldn't believe something so vibrant and complex could come together in under an hour. That perfect balance of tangy tamarind, sweet pineapple, and savory fish felt like magic in a bowl. Now whenever I make it, my kitchen fills with those same intoxicating aromas that transport me straight back to her bustling Hanoi kitchen.
Last week I made a huge pot for friends who claimed they didn't like sour soups, and they went back for seconds three times. Watching them hesitate at that first sip, then light up as the flavors hit—that's the moment this soup stopped being just a recipe and became my go-to comfort food. There's something about gathering around a steaming bowl of Canh Chua that turns any ordinary Tuesday dinner into something special.
Ingredients
- 500 g white fish fillets: Catfish or basa hold up beautifully in the hot broth without falling apart, and their mild flavor lets the tangy soup shine through
- 8 large shrimp: Totally optional, but they add that sweet seafood depth that makes the soup feel extra luxurious
- 2 medium tomatoes: They soften into the broth, adding body and that gorgeous red hue that makes the soup so inviting
- 1 small pineapple: Fresh pineapple is nonnegotiable here, canned just doesn't give you that bright tropical sweetness
- 150 g bean sprouts: Add these at the very end so they stay crisp and provide this amazing fresh crunch against the tender fish
- 150 g okra: Sliced thin, they release a natural thickness to the broth without any sliminess
- 2 stalks celery: If you can find elephant ear stem (bạc hà), use it for that authentic Vietnamese crunch celery is a solid substitute
- 2 cloves garlic and 1 small onion: The aromatic foundation that builds all that depth in the background
- 2 birds eye chilies: Slice them thin if you want heat, leave them whole for a gentler warmth
- 1.5 liters fish stock: Homemade stock makes a difference, but good quality storebought works perfectly fine
- 3 tablespoons fish sauce: Don't be tempted to reduce this, it's the savory backbone that balances all that sweet and sour
- 2 tablespoons tamarind paste: This is what gives Canh Chua its signature sour note, adjust to your taste
- 1 tablespoon sugar: Crucial for rounding out the acidity and bringing everything into harmony
- Fresh Thai basil, sawtooth coriander, and cilantro: The holy trinity of herbs that make this soup sing—don't skip them, don't substitute
- Lime wedges: Essential for that final bright squeeze right before eating
Instructions
- Build your aromatic base:
- Heat a splash of oil in your large pot over medium heat and sauté the garlic and onion until they're fragrant and just starting to turn golden, about 2 minutes—this is where all that deep flavor starts.
- Create the soup broth:
- Pour in your fish stock or water, then stir in the tamarind paste, fish sauce, sugar, and salt. Let it come to a gentle boil while you stir to dissolve everything, tasting as you go to get that sweet sour balance started.
- Add the hearty vegetables:
- Drop in your pineapple, tomatoes, okra, celery or elephant ear stem, and those sliced chilies. Let everything simmer for 5 to 7 minutes until the vegetables are just tender—you want them to still have some bite.
- Cook the seafood gently:
- Add your fish chunks and shrimp if you're using them, then turn the heat down to a gentle simmer. Let them cook for just 5 to 7 minutes until the fish flakes easily and the shrimp turn pink—overcooking here makes the fish tough.
- Finish with the fresh elements:
- Stir in the bean sprouts and cook for exactly 1 minute so they stay crisp. Then remove from heat and fold in your Thai basil, sawtooth coriander, and cilantro.
This soup became my go-to when I'm hosting and want to serve something impressive but not fussy. There's nothing quite like watching friends lift their bowls and drink every last drop of that fragrant broth. Those moments around the table, everyone reaching for more lime wedges, that's when food feels like love.
Getting the Balance Just Right
The magic of Canh Chua lives in that perfect sweet sour salty equilibrium, and it's different every time. I always start with less tamarind and fish sauce than the recipe calls for, then adjust incrementally. Your palate might want more sour than mine, or more sweetness from the pineapple—that's the beauty of a soup like this. Trust your taste buds more than the measurements.
Make It Your Way
My cousin makes this with only catfish because that's what her family prefers, while I love the combination of fish and shrimp for variety. Some days I'll add extra vegetables like taro stem or water spinach, other times I keep it classic. The framework stays the same, but the details are yours to play with.
Serving It Right
Set the table with small bowls of extra fish sauce, sliced chilies, and more lime wedges so everyone can customize their bowl. I always serve it alongside fluffy jasmine rice or vermicelli noodles to soak up all that incredible broth.
- Have your ingredients prepped before you start, this soup comes together fast
- Make extra broth, it reheats beautifully for lunch the next day
- The flavors actually deepen overnight, so don't worry about leftovers
There's something deeply satisfying about a soup that tastes this complex but comes together this easily. Make it once, and it'll find its way into your regular rotation too.
Recipe FAQs
- → What makes Canh Chora sour?
-
The signature sourness comes from tamarind paste, which creates a tangy base. Fresh lime wedges served on the side allow diners to adjust the acidity to their preference.
- → Can I make this vegetarian?
-
Absolutely. Substitute firm tofu cubes for the fish fillets and shrimp. Use vegetable or mushroom stock instead of fish stock, and replace fish sauce with soy sauce or a vegetarian alternative.
- → What fish works best?
-
White fish with mild flavor and firm texture holds up well during simmering. Catfish, tilapia, basa, or sea bass are excellent choices that won't fall apart in the hot broth.
- → Can I substitute the okra?
-
Green beans or long beans make a good substitute if okra isn't available. They'll provide similar texture and hold their shape during cooking without becoming slimy.
- → How do I store leftovers?
-
Store in an airtight container in the refrigerator for up to 2 days. Reheat gently over low heat to avoid overcooking the fish. Add fresh herbs and bean sprouts when serving.
- → What is sawtooth coriander?
-
Also known as ngo gai or culantro, this herb has long, serrated leaves with a flavor similar to cilantro but more intense. If unavailable, extra cilantro makes an acceptable substitute.