Vietnamese Sweet and Sour Soup

A close-up of Canh Chua soup showing flaky white fish, pink shrimp, and pineapple chunks in a tamarind broth topped with fresh cilantro and bean sprouts. Save Pin
A close-up of Canh Chua soup showing flaky white fish, pink shrimp, and pineapple chunks in a tamarind broth topped with fresh cilantro and bean sprouts. | recipesbymarisol.com

Canh Chua brings together the vibrant flavors of Vietnamese cuisine in one comforting bowl. This sweet and sour soup features tender white fish and shrimp swimming in a tangy tamarind broth, balanced with pineapple sweetness and aromatic herbs like lemongrass, Thai basil, and cilantro. The medley of tomatoes, celery, and bean sprouts adds texture and freshness, while chilies provide gentle heat. Ready in just 40 minutes, this gluten-free dish captures the perfect harmony of sour, savory, and sweet that makes Vietnamese cooking so distinctive.

The first time my Vietnamese roommate made this soup, the entire apartment smelled like lemongrass and tamarind. I watched her balance the sweet and sour flavors, tasting and adjusting until she nodded with satisfaction. Now every time I make Canh Chua, I think of rainy afternoons spent huddled over steaming bowls, the tangy broth warming us from the inside out.

Last winter my sister came over feeling under the weather, and I decided to make her this soup. She took one sip and her eyes lit up, saying it reminded her of the street food we ate in Hanoi years ago. We sat at the kitchen table for hours, picking out shrimp pieces and debating whether extra chilies were necessary. That afternoon, this soup became more than dinner, it became comfort.

Ingredients

  • White fish fillets: Catfish holds up beautifully in the hot broth without falling apart, though tilapia works in a pinch
  • Shrimp: They add sweet pops of seafood flavor and cook quickly, so add them last to keep them tender
  • Pineapple: Fresh pineapple chunks are non negotiable here as they provide essential sweetness and acidity
  • Tamarind paste: This gives the soup its signature sour note, so do not substitute with lime juice unless absolutely necessary
  • Lemongrass: Bruising the stalks releases their citrusy oils into the broth, creating that distinctive aromatic base
  • Tomatoes: They break down slightly as they simmer, adding body and a subtle sweetness to the soup
  • Fresh herbs: The combination of cilantro, Thai basil, and rice paddy herb is what makes this dish sing
  • Fish sauce: Use a good quality brand like Red Boat for the deepest savory flavor without excessive saltiness

Instructions

Build the aromatic foundation:
Heat oil in a large pot over medium heat, then sauté garlic and onions until they turn translucent and fragrant, about 2 minutes. The kitchen should start smelling amazing right about now.
Add the backbone flavors:
Toss in lemongrass pieces and tomato wedges, cooking until tomatoes soften and release their juices. This creates a flavorful base for the broth.
Create the soup base:
Pour in water or fish stock and bring to a gentle boil. Stir in tamarind paste and sugar, letting them dissolve completely.
Simmer the vegetables:
Add pineapple, celery, and okra, then simmer for 5 minutes until pineapple starts to soften but still holds its shape.
Cook the seafood gently:
Lower the heat and carefully add fish chunks and shrimp. Simmer for just 5 to 7 minutes until the seafood turns opaque and flakes easily.
Balance the flavors:
Season with fish sauce, salt, and pepper. Taste and adjust tamarind or sugar until you hit that perfect sweet sour balance.
Add the finishing touches:
Stir in bean sprouts and all the fresh herbs along with spring onions and chilies. Simmer for just 1 to 2 minutes more, then remove from heat immediately.
Serve immediately:
Ladle hot soup into bowls, making sure each serving gets plenty of seafood, vegetables, and herbs. Extra herbs on top never hurt anyone.
Save Pin
| recipesbymarisol.com

My friend Lan once told me that a good Canh Chua should make you pucker slightly, then smile immediately after. I have kept that in mind every time I have made it since. There is something magical about watching skeptical guests take that first tentative sip, then reach for seconds.

Getting the Balance Right

The secret to this soup lies in achieving harmony between sour, sweet, and salty elements. Tamarind provides the main sour note while pineapple contributes natural sweetness. Fish sauce adds depth and umami that ties everything together. Taste as you go, adjusting each element until the broth makes your mouth water in the best way possible.

Choosing Your Fish

Firm white fish like catfish, snapper, or grouper work best because they hold their shape during cooking. Avoid delicate fish like sole or flounder as they will disintegrate in the hot broth. If you cannot find fresh fish, frozen works perfectly fine, just thaw completely and pat dry before adding to the soup.

Make It Your Own

While traditional Canh Chua includes specific ingredients, do not be afraid to adapt based on what is available. Some cooks add elephant ear stem for crunch, while others include eggplant for creaminess. The essence of this soup is the sweet sour balance, so feel free to experiment while keeping that core principle intact.

  • Add rice paddy herb if you can find it at an Asian market, it has a unique cumin like flavor
  • For extra richness, fry some garlic in oil separately and drizzle over individual bowls
  • Make a vegetarian version using tofu and vegetable stock, adding extra mushrooms for depth
A steaming bowl of Canh Chua Vietnamese sweet and sour soup ready to serve, garnished with Thai basil, sliced chilies, and spring onions alongside jasmine rice. Save Pin
A steaming bowl of Canh Chua Vietnamese sweet and sour soup ready to serve, garnished with Thai basil, sliced chilies, and spring onions alongside jasmine rice. | recipesbymarisol.com

There is something deeply comforting about a bowl of Canh Chua, the way the sour broth wakes up your appetite while the warmth settles in your stomach. I hope this recipe brings as much joy to your table as it has to mine.

Recipe Questions & Answers

The tangy flavor comes primarily from tamarind paste, which provides a natural sourness that balances perfectly with the sweetness of pineapple and the savory fish sauce. You can adjust the amount of tamarind to achieve your preferred level of sourness.

Absolutely. Substitute the fish and shrimp with firm tofu cubes, and replace fish stock with vegetable stock. Use a vegetarian alternative to fish sauce or increase the salt and add extra aromatics like garlic and shallots.

White fish fillets like catfish, tilapia, snapper, or basa are traditional choices. These firm, mild-flavored fish hold their shape well during cooking and absorb the flavors of the broth without overpowering the delicate balance of the soup.

The broth can be made 1-2 days ahead and stored in the refrigerator. However, add the fish, shrimp, and fresh herbs just before serving, as seafood overcooks easily and herbs lose their vibrancy. Reheat the broth gently before adding these final ingredients.

Steamed jasmine rice is the classic accompaniment, perfect for soaking up the flavorful broth. You can also serve it with crusty bread or over vermicelli noodles for a more substantial meal.

Control the heat by adjusting the amount of bird's eye chilies. For mild versions, remove the seeds or omit entirely. For extra spice, add more chilies or include sliced fresh Thai chilies as a garnish so diners can customize their bowls.

Vietnamese Sweet and Sour Soup

Aromatic Vietnamese soup combining fish, pineapple, and fresh herbs in a tangy tamarind broth.

Prep 20m
Cook 20m
Total 40m
Servings 4
Difficulty Medium

Ingredients

Fish & Seafood

  • 14 oz white fish fillets (catfish, tilapia, or snapper), cut into chunks
  • 5 oz medium shrimp, peeled and deveined

Vegetables & Fruit

  • 7 oz pineapple, peeled and cut into bite-sized pieces
  • 2 medium tomatoes, cut into wedges
  • 3.5 oz bean sprouts, rinsed
  • 1 small okra (about 2.5 oz), sliced
  • 2 stalks celery, sliced diagonally
  • 1 small onion, sliced
  • 2 birds eye chilies, sliced
  • 2 stalks lemongrass, bruised and cut into 2-inch pieces

Aromatics & Herbs

  • 3 cloves garlic, minced
  • 1 bunch fresh cilantro, chopped
  • 1 bunch Thai basil or rice paddy herb, chopped
  • 2 spring onions, sliced
  • 1 handful sawtooth herb

Broth & Seasonings

  • 5 cups water or fish stock
  • 2 tablespoons fish sauce
  • 1 tablespoon tamarind paste
  • 1 tablespoon sugar
  • 1 tablespoon vegetable oil
  • Salt and black pepper, to taste

Instructions

1
Prepare Aromatics: Heat vegetable oil in a large pot over medium heat. Add minced garlic and sliced onions, sauté until fragrant and translucent, approximately 2-3 minutes.
2
Build Flavor Base: Add bruised lemongrass pieces and tomato wedges to the pot. Cook for 2-3 minutes until tomatoes begin to soften and release their juices.
3
Create Broth: Pour in water or fish stock and bring to a gentle boil. Stir in tamarind paste and sugar, simmering for 3 minutes to dissolve and incorporate flavors.
4
Add Vegetables: Add pineapple pieces, sliced celery, and okra to the simmering broth. Cook for 5 minutes until vegetables begin to soften but maintain texture.
5
Cook Seafood: Gently add fish chunks and shrimp to the pot. Simmer for 5-7 minutes until seafood is just cooked through. Skim off any foam that rises to the surface.
6
Season and Balance: Season with fish sauce, salt, and pepper. Taste and adjust tamarind or sugar as needed to achieve the characteristic sweet and sour balance.
7
Add Fresh Elements: Stir in bean sprouts, chopped cilantro, Thai basil, spring onions, sawtooth herb, and sliced chilies. Simmer for 1-2 minutes until herbs are wilted but vibrant.
8
Serve: Remove from heat and ladle soup into individual serving bowls. Garnish with additional fresh herbs if desired. Serve immediately with steamed jasmine rice.
Additional Information

Equipment Needed

  • Large soup pot or Dutch oven
  • Chef's knife and cutting board
  • Ladle for serving
  • Fine-mesh strainer (optional for broth clarification)

Nutrition (Per Serving)

Calories 215
Protein 23g
Carbs 22g
Fat 4g

Allergy Information

  • Contains fish and shellfish (shrimp). Contains fish sauce (fish allergen). Verify fish sauce is gluten-free certified if required. Always check ingredient labels for allergen information.
Marisol Vega

Wholesome recipes, simple meal ideas, and practical cooking tips for home cooks.