Our xiu mai recipe makes Vietnamese style meatballs in tomato sauce that are traditionally eaten with crusty Vietnamese baguettes, dunked in the rich sauce and used to scoop up the meatballs. ‘Xiu mai’ is Vietnamese for ‘meatballs’ and in Vietnam xiu mai are eaten for breakfast, lunch or dinner, in cold and warm climates, from the cooler Central Highlands to the tropical Mekong Delta in the sultry south. They are that delish!
You’ll love this xiu mai recipe for Vietnamese meatballs in tomato sauce if you’re a meatball lover – if you are, here are our best meatball recipes – especially if you’re a fan of Italian style meatballs in tomato sauce and a devotee of Vietnamese food, especially Vietnamese street food. Yes to all of those? Then this xiu mai dish is for you. Leftover xiu mai? Make banh mi xui mai.
In Vietnam, xiu mai is a much-loved street food dish that’s also eaten in the home. You could order a single bowl of xiu mai from a street food stall, which will be served with a demi baguette for you to break up and dunk into the rich sauce and scoop up the meatballs. In your own home, you could serve xiu mai with bread or with noodles or steamed rice.
But xiu mai is also a dish that’s popular to go out and eat with friends, especially on a chilly evening in Dalat, in Vietnam’s Central Highlands. A former French colonial hill station, established for its cooler climate, and set amidst mountains, forests and lakes, Dalat is famed for its delicious produce, coffee and tea, grown on the farms, orchards and plantations surrounding the city that’s become a foodie and coffee destination.
I’ll tell you more about this Vietnamese xiu mai recipe below. Looking for more cooking inspiration? Do browse our archives. We’ve got hundreds of recipes from around the world from places we’ve lived, worked and travelled. If you’ve enjoyed our recipes, please consider supporting Grantourismo by shopping our Society 6 store for gifts for food lovers designed with Terence’s images, or buy something on Amazon, such as these cookbooks for culinary travellers or classic cookbooks for serious cooks.
Xiu Mai Recipe for Vietnamese Meatballs in Tomato Sauce
Our xiu mai recipe for Vietnamese style meatballs in tomato sauce makes a Vietnamese dish that’s more popular with locals than visitors to Vietnam. Perhaps because foreigners perceive xiu mai as a hearty comforting dish of the kind eaten in cold climates rather than hot weather.
Of course, it does get cold in Vietnam, especially in the Central Highlands and northern Vietnam, although the perception is that Vietnam is a tropical country with year-round warm weather. When Terence and I lived in Hanoi (on Food Street, of all places) we’d often stifle giggles seeing travellers who had arrived mid-winter wearing singlets and shorts, shopping for winter woollies.
Regardless, like other Southeast Asians, the Vietnamese slurp scalding soups and tuck into warming stews no matter the temperature. Terence and I happily do the same after decades cooking and eating Southeast Asian food. One of the best places to eat a coconut based noodle soup is by the beach as far as I’m concerned.
Along with sour soups and spicy food, hot dishes are considered to be cooling – which makes sense when you remember that those beads of perspiration that form on your brow as you break out into a sweat are actually there to cool us down. Which perhaps partly explains why xiu mai is so popular in the Mekong Delta, where it’s said that this tomato-based version of xiu mai originated.

Sprawling across southern Vietnam and southern Cambodia, the Mekong Delta is distinguished by a vast network of rivers and tributaries running off the Mekong River, along with river islands, creeks, canals, and swamps. Incredibly fertile, it’s home to farms, fruit orchards and flower gardens.
Yet while some tomatoes are grown in the Mekong Delta at Cà Mau, tomato production in Vietnam is mainly centred around Dalat in the Central Highlands and the Red River Delta around Hanoi – which probably explains why one of the best versions of xiu mai I’ve eaten was at a simple local eatery in Cà Mau.
It was called ‘bánh tằm xíu mại cay Cà Mau’ – xiu mai with thick rice noodles that called ‘banh tam’. It was the closest thing I’ve eaten to a Vietnamese spaghetti and meatballs – with a couple differences. Firstly, it was garnished with fresh basil, Vietnamese mint, a few lettuce leaves, and crunchy bean sprouts.
Secondly, there were two sauces to select from, a tomato sauce and more gently spiced sauce – ‘cay’ means ‘spicy’ in Vietnamese and the cook had spiced up the sauce with Vietnamese curry powder, which is another thing that distinguishes the Cà Mau style of xiu mai. The same dish is also made with chicken pieces with/without meatballs and/or a side of fried spring rolls.
The best xiu mai I’ve eaten in Vietnam? In Dalat – where it most closely resembled this xiu mai recipe. Although Dalat style xiu mai typically features the Vietnamese meatballs in a soup or broth rather than sauce, and is showered with sliced spring onions rather than coriander. But that’s another story. Just a few tips to making this Vietnamese xiu mai recipe.

Tips to Making this Xiu Mai Recipe for Vietnamese Meatballs in Tomato Sauce
I only have a few tips to making this Vietnamese xiu mai recipe for Vietnamese style meatballs with tomato sauce, starting with the tomato sauce.
Homemade Tomato Sauce
You need to make the tomato sauce first as you’ll transfer the meatballs directly to the sauce after frying them, as that softens the meatballs. You’ll need a large deep frying pan or skillet that will hold at least 20 meatballs.
Traditionally, a Vietnamese xiu mai recipe called for fresh tomatoes, but every Vietnamese cook I’ve ever asked about their xiu mai recipes has used tinned tomatoes and I’ve spotted empty tomato cans at many a xiu mai stall in Vietnam.
The ingredients that distinguish a Vietnamese xiu mai sauce from an Italian tomato sauce are sugar (use a fine sugar such as caster sugar), fish sauce, soy sauce, and rice vinegar. The fish sauce and soy sauce add umami not fishy flavours, but if you’re not familiar with those ingredients, use half, taste, and gradually add more.
The Meatballs
Once you have the tomato sauce on the stove simmering, it’s time to make the xiu mai meatball mixture. You’ll need a fatty pork mince for juiciness. A traditional Vietnamese xiu mai recipe calls for jicama or yam beans, but if you can’t get hold of jicama, you could try a finely diced turnip.
It’s fish sauce and soy sauce that distinguishes a Vietnamese meatball from an Italian meatball. Once again, if you’re not used to using these ingredients, do a taste test. Start with half the measures our xiu mai recipe calls for, roll a teaspoon of your pork mixture into a small meatball and either microwave it or fry it in small pan, taste it, then adjust the seasoning to suit your palate.
To shape the mince mixture into meatballs, use an ice-cream scoop or tablespoon and scoop out a heaped spoonful of pork mixture, roll it between wet hands a few times to form a 5cm-diameter ball, then set it down on a tray and repeat. Don’t over-roll or over-handle the minced mixture or you’ll end up with chewy, bouncy meatballs – unless that’s what you’re going for, of course, but we prefer more rustic, loose, juicy meatballs.
You could use either a flat-bottomed wok or deep frying pan to cook the meatballs. Make sure to use long tongs to turn the meatballs so you don’t burn yourself. Once the meatballs are golden brown use the tongs to transfer the meatballs to the pan of tomato sauce and leave them to simmer for tender-soft melt-in-the-mouth meatballs.
Note that some Vietnamese cooks add a cornstarch slurry to the tomato sauce (I don’t like the texture) while others add dầu hạt điều or annatto oil – made from annatto seeds from the achiote tree – in their xiu mai for a richer red colour. If you’d like to add annatto oil you can buy it online or make it yourself by stirring ground annatto into a neutral cooking oil in pan over low heat.
To Serve
Traditionally, xiu mai are served in the pan at the centre of the table to share, but you could distribute the Vietnamese meatballs amongst bowls. Before serving the xiu mai sprinkle on fresh coriander leaves and sliced chillies, and serve with warm crispy demi-baguettes for dipping and scooping. Enjoy!
Xiu Mai Recipe for Vietnamese Meatballs in Tomato Sauce

Ingredients
Tomato Sauce
- 2 tbsp vegetable oil - soybean or other neutral cooking oil
- 2 cloves garlic - peeled and minced
- 2 purple shallots - or half a red onion, finely diced
- 400 g can diced tomatoes
- 1 cup pork stock
- 1 tbsp caster sugar
- 2 tbsp fish sauce
- 1 tbsp soy sauce
- 1 tbsp rice vinegar
- ½ tsp black pepper
Meatballs
- 400 g pork mince - preferably fatty
- 50 g onion - finely diced
- 50 g jicama - finely diced
- 1 garlic clove - minced
- 1 tbsp fish sauce
- 1 tbsp soy sauce
- ½ tsp white pepper
- 3 tbsp vegetable oil - soybean or other neutral cooking oil
To Serve
- 2 tbsp fresh coriander - cilantro, or fresh basil, mint or dill
- 4 crusty baguettes
- 1 red chilli - sliced
Instructions
- Make the tomato sauce: in a large deep frying pan or skillet over medium-high, heat two tablespoons of a neutral cooking oil until shimmering, sauté the garlic for a minute until fragrant, add the can of diced tomatoes and pork stock and cook for 5 minutes. Add the caster sugar, fish sauce, soy sauce, rice vinegar, and pepper, stir to incorporate, and reduce the heat to low to simmer.
- Make the meatball mixture: to a mixing bowl, add the fatty minced pork, finely diced onion and jicama, minced garlic, fish sauce, soy sauce, and white pepper. Use your hands to combine loosely. Taste by rolling a teaspoon of the pork mixture into a small meatball and microwaving or frying until cooked; taste and if needed, adjust the seasoning to suit your palate.
- Form the meatballs: use an ice-cream scoop or tablespoon to scoop out a heaped spoonful of pork mixture, roll it between your two hands a few times to roughly form a 5cm-diameter ball, set it down on a tray and repeat. You should end up with around 20 meatballs.
- Cook the meatballs: in a flat-bottomed wok or pan, heat three tablespoons of oil over medium heat under shimmering. Using long tongs, transfer the meatballs to the oil so they’re not touching and fry, turning occasionally, until golden brown.
- As the meatballs turn golden-brown, use the tongs to transfer them to the pan of tomato sauce and simmer for 15 minutes or until ready to eat.
- Sprinkle on fresh coriander leaves and serve in the pan at the centre of the table or distribute amongst bowls. Serve with more fresh herbs and sliced chillies and baguettes for dipping and scooping.
Nutrition
Please let us know in the comments below if you have any questions or feedback if you make our xiu mai recipe for Vietnamese meatballs in tomato sauce. We love hearing how our recipes turn out for you and we reply to every comment.





