
Growing up, I always thought meatballs were something that comes from Italy, so I was pleasantly surprised when I found out Vietnam also has its own version of meatballs. These xiu mai or Vietnamese meatballs remind me a little bit of bun cha hanoi but way more comforting with its tomato sauce. When I first tasted these meatballs, it tasted distinctly Vietnamese, and I loved it! Ingredients like fish sauce and sesame oil give it that yummy umami flavor, and the tomatoes and sugar balance it out with sweetness. I love this recipe so much, and I’m so excited to share it with you!
What is Xiu Mai?
Xiu Mai is a street food eaten in Vietnam, especially in the city of Da Lat. Unsurprisingly, this dish has its origins in China and derives from the popular Cantonese dim sum dish Siu Mai, a pork dumpling wrapped in a yellow flour based skin. This variation however does not come with the yellow skin. Instead, it is served in a tomato based sauce and comes with a baguette.
There are many variations of this dish across street vendors who sell this dish and families who enjoy it on a daily basis. My family likes to use carrots in the meatball whereas a lot of people prefer jicama instead. I just liked how the sweetness from the carrots complements the umami flavors in the dish. We also like to use ketchup in the sauce which is not normally used, but we think it adds color and flavor to the sauce.
Ingredients, Substitutions & Adjustments
Meatballs
- Baguette – The baguette helps give some structure to the meatballs. In Vietnamese cooking, we use baguettes anytime we need bread, but you can use any kind of bread you want. Good substitutes are white bread and wheat bread.
- Ground pork – Pork forms the base of the meatballs. You can also make this recipe with ground beef.
- Carrots – Adds sweetness to these meatballs. You can substitute carrots with jicama.
- Garlic – Adds more flavor to the meatballs. Feel free to use more or less garlic. More garlic means more flavor though!
- Shallots – Adds a sweetness to these meatballs. Substitute with sweet yellow onion.
- Salt and pepper for seasoning
- Sesame oil – Adds a smokey umami flavor to the xiu mai. I added more sesame oil than I usually do because I love the flavor it adds to the meatballs. Feel free to add less.
- Granulated sugar – With all the umami flavors in the meatballs, they need a little sugar to balance it out.
- Corn starch – Corn starch helps dry out the meatballs and give it structure. Substitute with all purpose flour, potato starch, or tapioca starch.
Sauce
- Yellow onion – Adds sweetness to the sauce. Substitute with white onion.
- Tomatoes – Adds both tart and sweet flavors to the sauce. You can use any kind of tomatos you want. I used roma tomatoes.
- Ketchup – Ketchup adds sweetness and the red color to the sauce.
- Chicken broth – I used low sodium chicken broth for this recipe since there’s already so much salt in this sauce. You can substitute with water or vegetable broth.
- Fish sauce – Adds umami flavor to the sauce.
- Granulated sugar – This helps balance out the umami flavors with a little bit of sweetness.
- Corn starch – Corn starch helps thicken the sauce. You can substitute with all purpose flour or tapioca starch.
How to make Xiu Mai
Soak the baguette in water to soften the bread. Use a cheesecloth or paper towel to squeeze out as much liquid as possible. Add it to a large bowl. Next, saute the minced garlic and shallots until they become brown. Add them to the bowl. Add the rest of the ingredients for the meatballs and mix. Form meatballs that are 2 inches in diameter and place them in a bowl. Bring water to a simmer in your steamer pot and add the steamer insert. Put the bowl in the steamer insert and steam for 15-20 minutes until the meatballs are cooked through. If the steamer insert is too deep for the bowl, add another bowl flipped upside down and put the bowl of meatballs on top. This makes it easier to pull out the bowl.
While the meatballs are steaming, make the sauce. Add the onions to a large sauce pan over medium high heat. Cook for 2-3 minutes until translucent. Add the tomatoes and cook for 5 minutes until the tomatoes soften. Add the ketchup and chicken broth and cook for 5-10 minutes until the sauce thickens. Lastly, add the fish sauce, sugar, and a corn starch slurry to the sauce and mix. Make the corn starch slurry by mixing the corn starch and 2 tbsp of water. Once the meatballs are done, add them to the sauce. Bring the sauce to a simmer and remove from the heat. Serve meatballs with a baguette and enjoy!
How to form uniform meatballs
The tip I love the most is using an ice cream scoop. Scooping the meatballs with an ice cream scoop then rolling them between your hands is the best way to form uniform meatballs. And when they’re uniform, they cook evenly.
How do you store xiu mai?
Store in the fridge for 2-3 days in an airtight container.
How do you serve and eat xiu mai?
The traditional way to serve xiu mai is with a baguette! When eating, place some of the meatball and the sauce on the bread and take a bite. You can also serve this with white rice. I’ve had it with both and they both are yummy compliments to the dish.
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!
Comforting Xiu Mai (Vietnamese Meatballs)
Equipment
Ingredients
Meatballs
- ¾ cup baguette cut into 1 inch pieces
- 5 cloves garlic minced
- 2 shallots minced
- 1 lb ground pork
- 1 cup carrots shredded
- 2 tsp salt
- 1 tbsp pepper
- 2 tsp sesame oil
- 1 tbsp granulated sugar
- 2 tbsp corn starch
Sauce
- 1 yellow onion thinly sliced
- 3 tomatoes cut into small pieces
- ½ cup ketchup
- 1 can chicken broth low sodium, 14.5 oz
- 1 tbsp fish sauce
- 1 tbsp granulated sugar
- 1 tbsp corn starch
Instructions
- Soak the baguette in water to soften the bread. Use a cheesecloth or paper towel to squeeze out as much liquid as possible. Add it to a large bowl.
- Next, saute the minced garlic and shallots until they become brown. Add them to the bowl (2-3 minutes).
- Add the rest of the ingredients for the meatballs and mix.
- Form meatballs that are 2 inches in diameter and place them in a bowl. Grab some meat and roll it between your palms until it forms a ball.
- Bring water to a simmer in your steamer pot and add the steamer insert. Put the bowl in the steamer insert and steam for 15-20 minutes until the meatballs are cooked through. If the steamer insert is too deep for the bowl, add another bowl flipped upside down and put the bowl of meatballs on top. This makes it easier to pull out the bowl.
- While the meatballs are steaming, make the sauce. Add the onions to a large sauce pan over medium high heat. Cook for 2-3 minutes until translucent.
- Add the tomatoes and cook for 5 minutes until the tomatoes soften.
- Add the ketchup and chicken broth and cook for 5-10 minutes until the sauce thickens.
- Lastly, add the fish sauce, sugar, and a corn starch slurry to the sauce and mix. Make the corn starch slurry by mixing the corn starch with 2 tbsp of water.
- Once the meatballs are done, add them to the sauce.
- Bring the sauce to a simmer and remove from the heat.
- Serve meatballs with a baguette and enjoy!
Notes
- How to form uniform meatballs. The tip I love the most is using an ice cream scoop. Scooping the meatballs with an ice cream scoop then rolling them between your hands is the best way to form uniform meatballs. And when they’re uniform, they cook evenly.
- How do you store xiu mai? Store in the fridge for 2-3 days in an airtight container.
- How do you serve and eat xiu mai? The traditional way to serve xiu mai is with a baguette! When eating, place some of the meatball and the sauce on the bread and take a bite. You can also serve this with white rice. I’ve had it with both and they both are yummy compliments to the dish.
10/10!!!! I kept going back to the stove for “just a few more xiu mai” at least 3 times. You’ve just gained a subscriber! An uncomplicated recipe to follow. The most time consuming things are chopping veggies and making the meat into balls. I also like that steaming the xiu mai means less oil used.
Thank you so much for trying the recipe! I worked with my mom on this, so I’ll let her know you love it!