Vietnamese Pork Meatballs in Tomato Sauce (Xiu Mai)
Soft pork and wood ear mushroom meatballs simmered in a tangy tomato sauce, traditionally served with a crusty baguette.
About This Recipe
Xiu mai are Vietnamese-style pork meatballs, softer and looser than Italian versions, bound with a little cornstarch and simmered rather than fried so they stay tender. Wood ear mushroom mixed into the pork gives a distinctive light crunch, and the tomato sauce they simmer in is tangy and only lightly sweet, closer to a thin, savory braise than a thick pasta sauce. The technique that matters is keeping the meatball mixture wet and slightly loose -- xiu mai should be tender and almost falling apart, not dense and bouncy like a French or Italian meatball. Simmering them gently in the tomato sauce, rather than searing first, keeps them soft throughout, and the sauce reduces slightly as they cook to coat everything in a rich, tangy glaze. Served with a crusty baguette for dipping into the sauce, or over rice, xiu mai reflects Vietnam's fusion of French bread culture with distinctly Vietnamese seasoning -- fish sauce, wood ear mushroom, and a lighter hand with tomato than its European meatball cousins.
Ingredients
Serves 4
- 500 gground pork
- 10 gdried wood ear mushroom(soaked and finely chopped)
- 3shallots(minced)
- 2 clovesgarlic(minced)
- 2 tbspfish sauce
- 1 tbspcornstarch
- 1egg
- 0.5 tspblack pepper
- 2 tbspvegetable oil
- 3tomatoes(diced, or 1 can crushed tomatoes)
- 2 tbsptomato paste
- 1.5 cupschicken stock
- 1 tspsugar
- 0.25 cupcilantro(chopped)
- 4small baguettes(for serving)
Instructions
- 1
Mix the meatballs
Combine pork, wood ear mushroom, half the shallots, half the garlic, fish sauce, cornstarch, egg, and pepper. Mix until slightly sticky.
- 2
Shape the meatballs
Wet your hands and roll the mixture into 16-18 golf-ball-sized meatballs.
- 3
Build the sauce base
Heat oil in a wide pot over medium heat. Cook remaining shallots and garlic 2 minutes until fragrant. Add tomatoes and tomato paste, cooking 5 minutes until jammy.
- 4
Add stock
Pour in chicken stock and sugar, bring to a gentle simmer.
- 5
Simmer the meatballs
Carefully add meatballs to the sauce. Cover and simmer gently 20 minutes, without stirring roughly, until cooked through and tender.
- 6
Serve
Scatter with cilantro and serve hot with crusty baguette for dipping into the sauce.
Did you make this?
Rate it and help other cooks find the recipes that actually work.
One tap to sign in, and we'll save the rating you just picked.
Everything you need to plan your week — free
- Meal calendar
- Grocery list
- AI recipe ideas
Track what you eat
Snap your meal to log calories and macros, run fasting timers and track water in the free SnapCal app.
Pro Tips
- →
Keep the meatball mixture slightly wet and loose -- xiu mai should be tender, not dense like a firm Italian-style meatball.
- →
Simmer gently and avoid stirring roughly once the meatballs are in the sauce, or they'll break apart before they set.
- →
Soak dried wood ear mushroom in hot water for at least 15 minutes until fully softened before chopping.
Variations
- •
Serve over steamed rice instead of with baguette for a heartier meal.
- •
Add a soft quail egg to each meatball before shaping for a traditional variation.
- •
Use ground chicken instead of pork for a lighter version.
Storage
Refrigerate meatballs and sauce together up to 3 days; the flavor deepens overnight. Reheat gently on the stovetop over low heat to avoid breaking the meatballs apart.
History & Origin
Xiu mai reflects Vietnam's culinary fusion with French colonial bread culture, commonly eaten with a fresh baguette; the dish is a beloved home-cooking and street-food staple across Vietnam, especially in the south, often served for breakfast or a casual dinner.
Frequently Asked Questions
What if I can't find wood ear mushroom?
Finely diced water chestnuts or omitting it entirely both work -- the mushroom mainly adds a light crunch rather than significant flavor.
Why did my meatballs fall apart in the sauce?
The mixture was likely too wet, or the sauce was stirred too vigorously -- keep stirring gentle once the meatballs are added, and make sure the cornstarch and egg are well incorporated for binding.
Can I make the meatballs ahead and freeze them?
Yes, shape and freeze raw meatballs on a tray until solid, then transfer to a bag -- simmer from frozen in the sauce, adding about 5 extra minutes of cooking time.
Nutrition Facts
Per serving (380g / 13.4 oz) · 4 servings total
Time Summary
Have Questions?
Ask our AI cooking assistant anything about this recipe — substitutions, techniques, scaling.
Chat with AI Chef →Featured in Guides
This recipe is featured in the following curated guides:
More Vietnamese Recipes
You Might Also Like
Similar dishes from other cuisines around the world.
Browse by Ingredient
More recipes built around the same core ingredients.
Free Kitchen Tools
Calculators and converters that pair with this page — no signup needed.
Put This Into a Plan
Schedule it, shop for it, and track what you already have.
Read Next
Longer reads that go deeper on the ideas behind this dish.
Community
Join the conversation
Sign in to leave a comment and save your favourite recipes