Vietnamese Sweet & Sour Soup (Canh Chua)

It’s no secret that I love my soup recipes. And that’s probably because in Vietnamese culture, we have either soups or vermicelli bowls for the most part. It’s all I grew up eating, and I wasn’t mad about it. One soup that’s always been a favorite of mine is canh chua which is our version of sweet and sour soup. It is made with pork, catfish, and a load of traditional Vietnamese vegetables. Not only is it such a unique soup, but it’s easy to make and amazingly good, which makes it the perfect soup to have during the holidays.

Growing up with canh chua
Canh chua is something we always had in the fall or winter growing up. It includes a tamarind broth filled with fish (typically catfish), pineapple, tomatoes, elephant ear stalks, and bean sprouts. We usually served with a side of white rice and Ca Kho To. It was absolutely the best, and it’s a soup that is unlike anything I’ve ever had in my life.
One of the challenges of making this dish in Western cities like LA is access to ingredients. Many families adapt their recipes to utilize the ingredients available to them. For example, my family makes both a modern and traditional version of this Vietnamese sweet and sour soup. Earlier this year, I posted a modern version of this recipe utilizing ingredients like salmon, okra, and celery. This recipe is the traditional version and the one I grew up eating the most. It has stuff like catfish, elephant ear stalk, and rice paddy herb. All these ingredients are pretty hard to find even in big cities like LA, so I provided substitutions in the next section.

Some things you need to know about key ingredients
- Pork – The pork is the base of the broth and used only for flavor. You can use any cut of pork you want, but I would recommend using a cut with some bone on it. Bones create the richest, most flavorful broths. Some cuts I recommend are bone in pork chops or pork ribs.
- Tamarind – This is the key ingredient in canh chua and what makes it sweet and sour. Fresh tamarind comes in pods that look similar to snap peas. The fruit is a brown pulp with seeds inside. You can use fresh tamarind or half of the tamarind soup mix.
- Pineapple – Adds sweetness to the soup. You can use either 1 pineapple or 1 can (20 oz) of pineapple.
- Catfish – Use any cut of catfish for this recipe. I prefer steak cut catfish, but you can only find that in speciality markets. If you can’t find catfish in general, I would substitute with salmon. Since salmon has more of a fishy flavor than catfish, I would dunk it in boiling water before adding it to the soup.
- Elephant ear stalk (Bac Ha) – This is a pretty traditional Vietnamese vegetable that adds texture to the soup. If you can’t find it, I would recommend substituting with celery. Make sure to peel the skin off the vegetable before cutting it into chunks.
- Bean sprouts – Adds texture to the soup. If you can’t find bean sprouts, I would leave it out. However, I would highly recommend using it for the most traditional experience. To me, it’s not really Canh Chua without bean sprouts.
- Rice paddy herb (Ngo Om) – This is a Vietnamese herb that has a citrusy flavor. A good substitute for this is a pinch of cumin or lemon basil.


Using and understanding tamarind
Tamarind is probably the most important ingredient in canh chua because it’s what gives the soup its signature sweet and sour flavor. Like I mentioned above, tamarind comes in pods that look similar to snap peas. Inside the pod is the brown pulp and the seeds. Sometimes, it comes in a block of dried brown pulp which is what you see pictured above. That’s how my family typically buys it from the store. For this recipe, it’s important the seeds and pulp don’t get into the soup because they will make it cloudy. So to avoid this, you have to boil the pulp and strain it through a fine mesh sieve before adding it to the soup.

How to make my family’s canh chua recipe
- First clean your pork. Add pork to a soup pot. Cover with water until it just covers the pork. Bring to a boil and simmer for 10 minutes. Take out the pork and then throw away the water. This process cleans the pork. Rinse the pot and add the pork back. Cover the pork with fresh water until it just covers the meat. Bring to a boil.
- Tip #1: If you want to go a step further, rinse the pork and pot after boiling it to get rid of more of the impurities.
- Next, add the onion and simmer for 1.5 hours. Make sure to check every 30 minutes for impurities. Scoop away any you see.
- Tip #2: Make sure to keep the broth in a low simmer. Boiling the broth too much will create a cloudy soup.
- While the soup is simmering, combine 1 cup of water and the tamarind in a small saucepan. Bring to a boil and let it simmer until the tamarind dissolves. You can help speed up the process by using the back of a spoon to crush the tamarind. Pour the tamarind through a fine mesh sieve into a small bowl. Set aside.
- After simmering the soup for 1.5 hours, add the pineapple to the soup. Simmer for another 20 minutes. Next, put the catfish in and simmer for another 10 minutes until it is cooked through. Lastly, add the vegetables and tamarind. Bring the soup to a boil and serve.

How do you store canh chua?
If you have leftover soup, make sure to store the fish separately from the soup. If you leave the fish in the soup overnight, it will become mushy. Store in an airtight container in the fridge for up to 3 days.
What can you serve canh chua with?
Canh chua usually served in combination with ca kho to and white rice. Since you are using catfish in the soup already, you can use extra catfish to make ca kho to. White rice is the perfect accompaniment to both dishes since the blandness of the rice balances out the strong flavors of both dishes.
Did you make this dish?
If you made this dish, I would love to see!
Follow Cooking Therapy on Instagram, snap a photo, and tag and hashtag it with @cooking__therapy and #beccascookingtherapy.
Stay connected and follow along on Facebook, Pinterest, and Instagram for all my latest recipes.
Disclaimer: If you purchase anything through a link on this site, I may receive a small commission from the purchase at no extra cost to you. I also only recommend products that I would personally use. Thank you so much for the support!

Get the Recipe:
Vietnamese Sweet & Sour Soup (Canh Chua)
Ingredients
- 1 ½ lb pork
- 1 yellow onion
- 1 ½ oz fresh tamarind
- 1 tsp salt
- 1 can pineapple, 20 oz
- 1 piece ginger, 1 inch long
- 1 ½ lb catfish, cut into 1 inch pieces
- 10 oz elephant ear stem, cut into chunks
- 3 tomatoes, quartered
- 12 oz bean sprouts
- 1 tsp granulated sugar
- 1 oz rice paddy herb
Instructions
- Add pork to a large soup pot. Cover with water until it just covers the pork. Bring to a boil and simmer for 10 minutes. Take out the pork and then throw away the water. This process cleans the pork. Rinse the pot and add the pork back. Cover the pork with fresh water until it just covers the meat. Bring to a boil.
- Add the onion and simmer for 1.5 hours. Make sure to check every 30 minutes for impurities. Scoop away any you see.
- While the soup is simmering, combine 1 cup of water and tamarind in a small saucepan. Bring to a boil and let it simmer until the tamarind dissolves.You can help speed up the process by using the back of a spoon to crush the tamarind. Pour the tamarind through a fine mesh sieve into a small bowl. Set aside.
- After simmering the soup for 1.5 hours, add the pineapple and ginger to the soup. Simmer for another 20 minutes.
- Put the catfish in and simmer for another 10 minutes until it is cooked through.
- Lastly, add the vegetables and tamarind from step 3. Bring the soup to a boil and serve with a side of white rice. Make sure to taste the soup for seasoning and add more salt if it tastes bland.
Notes
- You can use any cut of pork you want for this recipe. I would recommend using cuts of pork with bones like bone in pork chops or pork ribs.
- If you can’t find fresh tamarind, I would use half a package of tamarind soup mix.
- If you have leftover soup, make sure to store the fish separately from the soup. If you leave the fish in the soup overnight, it will become mushy.
- For an extra hit of umami flavor, serve the soup with a little bit of fish sauce on the side. You can dip the catfish in the fish sauce.
I just got back from Vietnam, where I had a delicious sweet and sour soup in the Mekong delta (Tra Vinh) area. I made your recipe, and it was pretty good, but not quite the same. The broth there was almost clear, not brown and murky. Could they have used a different souring agent than tamarind?
Hi Gary. It’s possible, but to my knowledge, this soup is traditionally made with tamarind. The major difference could be they use fresh tamarind while we use a dried, more preserved version of it. We are not able to get truly fresh tamarind since it doesn’t grow in our climates. To make a clearer broth, you can try squeezing the tamarind through a cheese cloth to extract the juice.
Hi, wanted to let you know I made it today and it was great! I used the soup powder but it tasted almost as good as mom’s. Thanks for sharing with us.
Hi Vanin. Thank you for trying my recipe. I’m so glad it tasted like your mom’s! That’s the ultimate compliment in my opinion 🙂
Hmm, I’m going to make this first time, but I never seen my mom put pork in Canh Chua, but I’ll try it.
But would pork stock work?
Hi Jason. This is how my mom makes it, and I like it! I hope you try it, and let me know what you think!
This looks so very tempting. Quick clarification question. By chance did you mean coriander where you have cumin or lemon basil as a sub for the Ngo Om?
Hi Dawne! That’s right. I would substitute cumin or lemon basil for Ngo Om. Ngo Om has a really distinct flavor, so I tried to find a substitute as close as possible. Both are not perfect substitutes.
Hi! If I am using a can of pineapple, should I drain this or add the juice along with it ?
Add the juice along with it! It adds more flavor!
Where does the ginger go ?
Hi Jenny. Apologies for the mistake. You add it after the pineapple. I updated the recipe.
Can I use chicken stock instead of pork?
Yes you can use chicken stock!
Some months ago, I was having lunch with my Vietnamese neighbor in Nashville, TN, and she ordered this soup. So yesterday, I stopped in there for lunch and got a bowl for myself, but I got it with shrimp substituted for the catfish, as I don’t care for fish bones in my soup. I was able to get some elephant ear stalks at the market next door, and I have some pork and tamarind paste in my freezer, so guess what I’ll soon be making? I think I’ll share my elephant ear stalks with her. She has made me phô with filet mignon, bitter melon soup, and Tom Yum soup many times. It will be fun to share this with her.
Thank you for sharing Lea! I hope she enjoys it 🙂
I grew up eating this with my 3 sisters, mum passed bout 10yrs ago, but given Covid we are sharing and cooking mums recipes, which she never really wrote down we just have to remember. Feeling very under the weather today and it was all I wanted, found it in a Richmond delivery and whilst expensive it had everything the traditional way, I feel so much better. One tends to revert to traditional Vietnamese food as I know how nutritious they are for you unlike typical Aussie home delivery. Shared your recipe and I know 2 of em will he cooking it, it’s up their with pork intestine congee.
Thanks for sharing
Thank you so much for sharing that! I know your mom is smiling down on you and your sisters 🙂
My mom would say “Chua quá!!” because I always asked her to put more tamarind into the broth 🤣 Love the soup so much, it is refreshing and I can never get sick of it!!
LOL I can relate to that. The tamarind is the best part of this soup!
what kind of onion
I use yellow onion!
Hi! I’m making this recipe tonight. I hope this isn’t a dumb question…,, how do you chop the onion? or not at all. i’ve never made broth before.
Not a dumb question! You can throw it in whole. No cutting necessary!
Hi! This recipe sounds delicious. However, i can’t easily get catfish near where i live. Any recommendations on other kinds of fish? Thanks!
Hi Jeannie. You can also use salmon! Since salmon has a stronger fishy flavor, I would dunk them in boiling water for a few seconds to get rid of that fishiness. Then you can add it to the soup. Let me know how it goes!
You can also soak fish 20 min in milk. Then dump the milk & rinse the fish. The milk takes away all fishiness.
I’ve never used that technique! I will try it! Thank you for sharing!