
Vietnamese cuisine offers many types of vegetable soups, called canh, and this version features opo squash with easy-to-make pork meatballs.
Enjoy it on its own to warm up on chilly days, or serve it alongside hot steamed rice as part of a traditional Vietnamese family-style meal (cơm gia đình).
Why You Will Love This Recipe
Unlike bitter melon, this opo squash isn’t traumatizing. It’s mild in flavor…. borderline boring, really. This makes it a favorite among Vietnamese kids.

Instead of adding the ground pork loosely into the soup, we’re shaping it quickly into moist pork meatballs.
This makes the protein more substantial and gives each spoonful a more meaty but soft bite.

What You Will Need
To make Canh Bau Thit Vien, gather the following ingredients:
- Opo squash: Called Trái Bầu in Vietnamese, this is a long, pale green Asian squash. The skin is smooth and should be peeled before cooking. The flesh is white with a firm but slightly soft texture. Young opo has small, soft seeds that you can eat. Mature squash have larger, tougher seeds, so remove them before cooking. This squash can be mistaken for a type of wintermelon (bí đao), which looks similar but has a slight fuzz on the skin. Bi Dao is very neutral in flavor compared to Bau so Bau is my favorite of the two. If you can’t find opo, you can sub with bí đao, zucchini, chayote squash, and even cabbage.
- Ground pork: Ground pork is the most common protein of choice in Vietnamese cuisine but if pork isn’t your thing, try opo soup with shrimp.
- Shallot, garlic and green onions: The aromatics that make everything smell great.
- Neutral oil: We just need a little bit to stir fry the aromatics to get the aroma going. I’m using vegetable oil.
- Seasonings: Ground black pepper, fish sauce, salt, sugar and optional chicken bouillon powder for more umami.
How to Make it
Step 1: Prepare the ingredients
Peel the squash and cut it into thick matchsticks. Peel and finely dice the garlic and shallots. Thinly slice the green onions, keeping the white and green parts separate.

Step 2: Season ground pork
Season the ground pork with the whites of the green onions, half of the shallots and garlic, and half of the seasonings. Mix well and set aside.

Step 3: Toast aromatics and add water
In a medium stockpot, heat the oil over medium-high heat. Add remaining half of garlic and shallots, and sauté until fragrant, about 20 seconds.
Carefully pour in the water, watching for any hot oil splattering, and bring the pot to a boil.
Step 4: Add pork meatballs
Using clean hands or two spoons, shape the seasoned pork into small meatballs and drop them into the pot. Cook for about 5 minutes.
Step 5: Add chayote
Add the chayote squash and simmer for about 5 minutes, or until tender. Be careful not to overcook, as chayote can easily fall apart.

Step 6: Season and garnish
Season the soup to taste with the remaining seasonings, adding a little at a time to taste. Finish with the reserved green onions and a sprinkle of freshly ground black pepper just before serving.

Complete the Meal
You can enjoy this soup on its own, but it’s typically served with steamed rice and other braised protein side dishes to eat with steamed rice.
Print
Vietnamese Opo Squash & Pork Meatball Soup (Canh Bầu Thịt Viên)
- Total Time: 15 minutes
- Yield: 4 servings 1x
Description
A simple Vietnamese vegetable soup featuring opo squash and easy pork meatballs. It’s perfect on its own or served with steamed rice for a traditional family-style meal.
Ingredients
- 1 medium opo squash (about 1 lb, peel and cut into thick matchsticks)
- 2 green onions (thinly slice, whites and greens separated)
- 10 oz ground pork
- 3 large garlic cloves (minced)
- 1 large shallot (minced)
- 1 tablespoon vegetable oil
- 1 1/2 quarts water
- 2 teaspoons salt (divided)
- 2 teaspoons chicken bouillon powder (divided)
- 2 teaspoons fish sauce (divided)
- 1 teaspoon granulated sugar (divided)
- 2 teaspoons fish sauce
- 1/2 teaspoon ground black pepper (divided)
Instructions
- Season the ground pork: In a medium bowl, combine ground pork with the whites of the green onions, half of the shallots and garlic, salt (1 tsp), chicken bouillon powder (1 tsp), fish sauce (1 tsp), sugar (1 tsp), and ground black pepper (1/4 tsp). Mix and set aside.
- Start the soup: In a medium stockpot, heat the oil. Add remaining half of garlic and shallots, and sauté until fragrant (about 20 seconds). Add water (1-1/2 quarts) and bring the pot to a boil (about 8 minutes).
- Add the pork meatballs: Using clean hands or two spoons, shape the seasoned pork into small balls and drop them into the pot. Cook for about 5 minutes.
- Add the chayote squash and simmer for about 5 minutes, or until tender.
- Finish: Season the soup to taste with the remaining salt (1 tsp), chicken bouillon powder (1 tsp), fish sauce (1 tsp), sugar (1 tsp), and ground black pepper (1/4 tsp). Finish with the reserved green onions and optional sprinkle of freshly ground black pepper just before serving.
- Prep Time: 5 minutes
- Cook Time: 10 minutes
- Category: side dish
- Method: stove top
- Cuisine: Asian, Vietnamese



