
Looking for an easy Vietnamese soup recipe because you’re missing the taste of home and don’t know where to start?
Well here it is!
Check out this very simple sweet and sour fish soup with pickled mustard greens (canh ca dua chua). No need to marinate anything. Toss everything in one pot and you’re done. Serve with steamed rice for a complete meal.
This recipe is a lot simpler than tamarind-based sweet and sour soup (canh chua). There’s not a lot of vegetables involved. The only vegetable is pickled mustard green that you can simply pick up at your local Asian store, order online or simply make your own.
There’s no hard-to-find Vietnamese herb as well.

Everything comes together in under 20 minutes and that’s mostly waiting for the fish to cook.
Serve this alongside steamed rice and your favorite Vietnamese protein side dish.
Here I’m having my soup with caramelized shrimp and blanched okra. The optional dipping sauce for the fish is a few squirts of soy sauce and slices of chili peppers.

And yes, there is a lot of sugar to this recipe. Like most Vietnamese sour soup recipes, sugar is needed to balance out the tartness. Depending on the type of sugar you use, you may need more or less. I recommend to add the seasoning a bit at a time so it suits your taste.
Recipe below. Happy cooking!

Other Sweet & Sour Soups You May Enjoy
- Vietnamese Sweet & Sour Catfish Soup with Celery
- Pompano Fish and Sour Bamboo Soup
- Make Hot Pot at Home: Simple Thai-Style Tom Yum Hot Pot
- Sweet & Sour Shrimp Soup with Taro Stems
Popular Fish Dishes to Complete the Meal
- Vietnamese Grilled or Baked Snakehead Fish
- Steamed Fish with Scallions, Ginger and Soy Sauce
- Crispy Pan-Fried Red Tilapia Fish
- Braised & Caramelized Catfish


Vietnamese Fish Soup with Pickled Mustard Green (Canh Cá Nấu Dưa Chua)
- Total Time: 30 minutes
- Yield: 4 1x
Description
Missing the taste of home? Try this easy sweet and sour fish soup with pickled mustard greens. No marinating needed—just toss everything in one pot and enjoy!
Ingredients
Soup
- 2 tablespoons vegetable oil
- 3 cloves garlic (peel and mince)
- 1 shallot (peel and mince)
- 2 quarts water
- 1 lb fish (in this recipe, I’m using a one yellow pomfret; cut into steaks)
- 10.5 oz vacuumed sealed package pickled mustard green (reserve pickling liquid; cut into bite-size pieces)
- 6 large cherry tomatoes (optional)
Soup Seasonings
- 5 teaspoons sugar
- 1 teaspoon salt
- 2 teaspoons fish sauce
- 2 teaspoons chicken bouillon powder
Instructions
- Toast aromatics: In a medium pot, heat up vegetable oil on medium high. Add garlic and shallot. Sauté until fragrant (about 15 seconds).
- Prepare soup: Slowly add water. Be careful of hot oil splatter. Turn heat to high to quickly bring water to a boil. Add fish and cook for 15 minutes on a low simmer. Skim off impurities that float to the top as needed.
- Add Vegetables: Add pickled green mustard, including all its pickling liquid and tomatoes. Continue to cook for an additional 5 minutes.
- Season the Soup: Stir in sugar, salt, fish sauce, and chicken bouillon powder. Adjust the seasoning to your taste, ensuring a balance of savory, tangy, and slightly sweet flavors.
- Serve: Ladle the soup into a large bowl and enjoy it family style, paired with steamed rice.
- Prep Time: 10 minutes
- Cook Time: 20 minutes
- Category: side dish
- Method: Stovetop
- Cuisine: asian, vietnamese



