Home > Vietnamese Sour Soup (Canh Chua)

Vietnamese Sour Soup (Canh Chua)

Posting Date: 01/15/19

Vietnamese Sour Soup (Canh Chua)

Vietnamese Sour Soup (Canh Chua) originated in southern Vietnam. It can be served with fish or shrimp. You can even make it vegetarian by using tofu and substituting fish sauce with soy sauce.

As indicated by the name, it tastes sour which comes from tamarind. The name is slightly misleading because the soup also tastes sweet from pineapple and palm sugar and salty from fish sauce. Because there is variation in term of the pineapple sweetness, you may have to adjust the amount of sugar when making it. I use fresh ripe pineapple. You may use canned pineapple if you cannot find fresh one.

My Vietnamese friend introduced me to this soup long time ago and I like it so much because it reminds me of Indonesian soup, called Sayur Asem (Indonesian Tamarind Soup). In fact, Asem in Indonesian language means sour. Sayur Asem has similar flavor profile as the Vietnamese one. It is sour from the tamarind and tomatoes. It uses brown sugar to add sweetness to it. Salt is used to add saltiness. One ingredient used in sayur asem is shrimp paste which adds depth of flavor. Fish sauce adds depth of flavor, too. My Vietnamese friend serves the soup with the rice on the side. So, I always eat it with the rice. However, you can eat it without rice.

When making this soup, we don't want pineapple, bean sprouts, okras, and celery to be mushy. Thus, you don't want to overcook them. The bean sprouts are put into the bowl just before serving because of that.

The recipe serves 4 people.


  • 1500 ml water or chicken broth
  • 1.5 tablespoons concentrated cooking tamarind or to taste
  • 2 tablespoons fish sauce or to taste
  • 1 tablespoon palm sugar or to taste. If you cannot find palm sugar, you may use brown sugar.
  • 1 cube chicken bouillon. If using chicken broth, you can omit chicken bouillon.
  • 1.5 cups of diced fresh ripe pineapple. You can use canned pineapple if you cannot find fresh pineapple.
  • 5 okras, sliced at an angle
  • 20 large shrimp, peeled and deveined
  • 2 celery, sliced
  • 2 Roma tomatoes, diced
  • pinch of black pepper
  • 1 cup bean sprouts, rinsed and drained
  • fried onions
  • 4 sprigs cilantro, minced
  • Optional: slices of chili peppers. I use jalapeno pepper but you can use any chili peppers.


  1. Pour 1500 ml water or chicken broth in a pot. Add concentrated cooking tamarind, fish sauce, palm sugar, and chicken bouillon (if used) into the pot. Heat the pot over high heat. Once the liquid is boiling and chicken bouillon has disolved, add diced pineapple and okras into the pot. Let it cook for about 1 min before adding shrimp, celery, tomatoes, and black pepper. Once the shrimp is cooked, stir the pot and taste it. Add more seasoning (fish sauce, tamarind, palm sugar, or pepper) if needed. Remove from the heat.
  2. To serve it, put bean sprouts into a serving bowl and pour the soup into the bowl. Top it with fried onion and cilantro. You can serve it in an individual bowl by putting the bean sprouts into the bowl, ladle the soup into the bowl, and top it with fried onion and cilantro. Serve it warm. You can serve it with rice and slices of chili pepper on the side.

All images, materials, and recipes on Indonesiancooking101.com are protected by copyright. Please do not use or republish the recipes, materials, or images without prior written permission from Indonesian Cooking 101. If you want to share this recipe, please share the link rather than the whole recipe.

Follow Us: twitter button twitter button instagram button