Canh Chua Recipe: Vietnamese Sour Soup

Updated November 4, 2026

Total time
55 min
prep 25 min · cook 30 min
Serves
4
portions as written
Safe temperature (USDA)
145°F / 63°C
check the thickest piece

Jump to recipe

Canh Chua Recipe: Vietnamese Sour Soup

Canh chua is a beloved Vietnamese sour soup that balances tangy tamarind, sweet pineapple, and savory fish in a light, fragrant broth. It’s a staple of home cooking in southern Vietnam, where it’s served with steamed rice and plenty of fresh herbs. This recipe delivers a bright, comforting bowl that comes together in under an hour, using ingredients that are easy to find at Asian markets or online.

Ingredients

  • 1 lb (450 g) firm white fish fillets (such as catfish, basa, or tilapia), cut into 2-inch chunks
  • 8 cups (1.9 L) water
  • 1/2 cup (120 ml) tamarind paste (or 2 tbsp tamarind concentrate mixed with 1/2 cup warm water)
  • 1/2 pineapple, peeled, cored, and cut into bite-sized pieces (about 2 cups / 300 g)
  • 2 medium tomatoes, cut into wedges
  • 1/2 cup (75 g) fresh okra, sliced into 1/2-inch rounds (or 1 cup / 150 g sliced taro stem)
  • 2 cups (100 g) bean sprouts, rinsed
  • 1/4 cup (60 ml) fish sauce, plus more to taste
  • 2 tbsp (30 g) sugar
  • 1-2 fresh red chilies, sliced (optional, for heat)
  • 2 cloves garlic, minced
  • 1 shallot, thinly sliced
  • 3 tbsp (45 ml) neutral oil (like canola or vegetable)
  • 1/2 cup (20 g) fresh rice paddy herb (ngo om), chopped (or substitute fresh cilantro)
  • 1/2 cup (20 g) fresh sawtooth herb (ngo gai), chopped (or substitute fresh cilantro and a few basil leaves)
  • Salt, to taste

Instructions

  1. Prepare the fish: Rinse the fish chunks under cold water and pat dry. Set aside.
  2. Make the broth: In a large pot, bring the 8 cups of water to a boil over high heat. While waiting, prepare the tamarind: if using paste, mix it with 1/2 cup of warm water and strain through a fine mesh sieve to extract the liquid, discarding the seeds and pulp. If using concentrate, simply mix with 1/2 cup warm water.
  3. Sauté aromatics: In a small skillet, heat the oil over medium heat. Add the garlic and shallot, and cook until fragrant, about 1 minute. Be careful not to burn them.
  4. Add tamarind and seasonings: Once the water is boiling, add the tamarind liquid, fish sauce, and sugar. Stir well. Taste and adjust: it should be sour, salty, and slightly sweet. Add more tamarind or fish sauce if needed.
  5. Add the pineapple and tomatoes: Add the pineapple and tomato wedges to the pot. Let the soup return to a boil, then reduce heat to a gentle simmer. Cook for about 5 minutes, until the pineapple is slightly tender.
  6. Add the okra and fish: Add the sliced okra (or taro stem) and the fish chunks. Gently push the fish into the broth. Simmer for 5-7 minutes, until the fish is opaque and flakes easily with a fork. The fish is done when it reaches 145°F (63°C) as measured with a food thermometer (USDA FSIS safe minimum for fish).
  7. Add bean sprouts and herbs: Turn off the heat. Add the bean sprouts and the chopped herbs (ngo om and ngo gai). Stir gently. The residual heat will slightly wilt the sprouts and herbs.
  8. Season and serve: Taste the soup one last time and adjust with salt or fish sauce. If you like heat, add sliced chilies to the pot or let each person add their own. Serve hot with steamed rice.

Tips

  • Tamarind substitute: If you can’t find tamarind, use 2 tablespoons of fresh lime juice plus 1 teaspoon of brown sugar added at the end of cooking. This will give a brighter, more citrusy sourness, but it won’t have the same depth.
  • Fish choices: Firm white fish are best because they hold their shape. If using a more delicate fish like cod, add it at the very last minute and simmer gently to avoid breaking apart.
  • Don’t overcook the fish: Fish cooks quickly. Once it turns opaque and flakes easily, it’s done. Overcooking will make it tough and dry.
  • Adjust sourness: The amount of tamarind can vary in strength. Start with the called-for amount, then taste and add more if you prefer a more sour soup. The soup should be noticeably tangy but balanced by the sweetness of the pineapple and sugar.

Serving Suggestions

Serve canh chua hot as a main course with steamed jasmine rice. It’s also wonderful as part of a larger Vietnamese meal with grilled pork or chicken, and a side of fresh herbs and sliced cucumbers. A drizzle of extra fish sauce and a squeeze of lime on the side are common additions.

Variations

  • Seafood canh chua: Replace the fish with a mix of shrimp and squid. Add the shrimp in the last 3 minutes and the squid in the last 1 minute of cooking to avoid toughness.
  • Vegetarian canh chua: Omit the fish and fish sauce. Use vegetable broth and add extra tofu or mushrooms. Season with soy sauce or salt to replace the fish sauce’s saltiness.
  • With taro stem: In southern Vietnam, sliced taro stem (bac ha) is a classic addition. It has a crunchy texture and absorbs the broth well. If using, add it at the same time as the okra.
  • Spicier version: Add a few slices of fresh Thai bird’s eye chili to the pot while simmering for a deeper heat, or serve with a chili-garlic sauce on the side.

Storage and Reheating

Canh chua is best enjoyed fresh, but leftovers can be stored in an airtight container in the refrigerator for up to 3 days. The fish will continue to cook slightly in the hot broth, so it may become a bit softer, and the okra can become slimy. To reheat, gently warm the soup in a pot over medium-low heat until just heated through, about 5-7 minutes. Avoid boiling, which will toughen the fish. You can also reheat individual portions in the microwave for 2-3 minutes. The soup does not freeze well because the fish and vegetables will become mushy.

Frequently Asked Questions

Can I use frozen fish? Yes, frozen fish fillets work well. Thaw them in the refrigerator overnight before using, and pat them dry before adding to the soup.

What is rice paddy herb and can I skip it? Rice paddy herb (ngo om) has a distinctive citrusy, cumin-like flavor that is traditional in canh chua. If you can’t find it, you can substitute with cilantro or a mix of cilantro and a few basil leaves. The soup will still be delicious, just slightly less authentic.

Why is my soup not sour enough? Tamarind paste can vary in concentration. If your soup isn’t sour enough, add more tamarind liquid (mixed with a little water) or a squeeze of fresh lime juice. Taste and adjust until it reaches your preferred level of tang.

Can I make canh chua without fish sauce? Yes, for a vegetarian version, substitute soy sauce or a vegan fish sauce alternative. Start with 2 tablespoons and adjust to taste, as these substitutes have different saltiness levels.

How do I prevent the okra from getting slimy? Adding the okra at the end and not overcooking it helps. Also, avoid stirring the soup too aggressively after adding the okra. Some cooks also lightly sauté the okra in a little oil before adding it to the soup.

Is it okay to eat the soup cold? While it’s traditionally served hot, some people enjoy it at room temperature on a hot day. If you do, make sure it hasn’t been left out for more than 2 hours, and refrigerate any leftovers promptly.

Related

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).