Curated recipes from 193 countries  •  New seasonal Mediterranean issue out now

Overview

Xiu Mai

Vietnamese Pork Meatballs in Tomato Sauce, Trứng Xíu Mại

This xiu mai recipe shapes seasoned pork with jicama and onion into tender meatballs, then braises them with boiled egg in a rich tomato sauce. One serving is about 310 g (four meatballs, egg and sauce). It serves 4 and takes about 50 minutes, and is made for tearing crusty bread through the sauce.

Xiu mai came to Vietnam with Cantonese cooking and was reshaped in the south: small pork meatballs braised in a sweet tomato sauce, often with a boiled egg, and eaten with a baguette — a legacy of French bread in Vietnam. In Da Lat, the cool highland city, a bowl of xiu mai with bread is a classic morning meal.

Pairs well with: Crusty baguette, pickled carrots and daikon, and fresh coriander.

Provenance

Vietnam flag Vietnam

Da Lat Street-Food Classic

East & South Asia

Time Dedication

50m

20m prep • 30m cook

Batch Yield

4 Servings

519 kcal per serving

1 serving ≈ 310 g

Technical Skill

Intermediate

Intermediate (Meatballs)

Meal Timing & Digestive Fit

Breakfast

Not Advised

Lunch

Prime Metabolic Fit

Dinner

Ideal Hearty Main

Snack & Tea

Inappropriate

High Protein Occasions: Family lunches, weekend breakfasts, casual gatherings, make-ahead meals Cost: Low — about $2–3 per serving at home
A bowl of Vietnamese xiu mai — pork meatballs and boiled egg in red tomato sauce

Da Lat Street-Food Classic

Photo: Phương Huy, CC BY-SA 4.0, via Wikimedia Commons

The Heritage Formulary

Measured Ingredients

Estimated cost: Low — about $2–3 per serving at home (USD)

A home version of the southern Vietnamese xiu mai; no official standard recipe exists, so the method follows widely used Vietnamese home cooking.

Execution Methodology & Culinary Technique

Step-by-Step Cooking Guide

Active 50m
P

Prep Stage: Mix, Shape & Boil the Eggs

20 Mins • Mixing & Shaping

Boil the eggs for 9 minutes, cool and peel. Mix the pork with jicama, onion, garlic, egg, breadcrumbs, fish sauce, sugar and pepper, then shape 16 meatballs about 4 cm across and chill them for 10 minutes so they hold their shape in the pan.

Maestro Tip: Wet your hands before shaping — the mixture is sticky and wet hands keep it smooth.

  1. 1

    Brown the Meatballs

    8 Mins Medium-high heat

    Heat the oil in a wide pan over medium-high heat and brown the meatballs in one layer, turning gently, until golden on the outside, about 6–8 minutes. They do not need to cook through yet — the braise finishes them.

    Do not move them for the first 2 minutes, or the crust will tear.

    Done when: Golden all over; still pink in the middle.

  2. 2

    Start the Tomato Sauce

    5 Mins Medium heat

    In the same pan, soften the remaining garlic for 30 seconds, then add the tomato paste and cook for 1 minute. Pour in the crushed tomatoes and water, add the rest of the sugar and a pinch of salt, and bring to a gentle simmer.

    Cooking the paste first takes away its raw, tinny edge.

    Done when: Sauce simmering, brick-red and glossy.

  3. 3

    Braise the Meatballs

    20 Mins Low simmer, about 95°C (200°F)

    Slide the meatballs back into the sauce, nestle the halved eggs cut-side up among them, cover, and simmer gently for 20 minutes. The meatballs must reach 71°C (160°F) in the centre.

    Keep the simmer gentle — hard boiling breaks the meatballs apart.

    Done when: Meatballs firm and cooked through, 71°C (160°F) inside; sauce slightly thickened.

  4. 4

    Reduce and Season

    5 Mins Medium heat

    Lift the lid, turn the heat up, and simmer for 5 minutes until the sauce thickens enough to coat a spoon. Taste and balance with a little more fish sauce or sugar — it should be savoury, lightly sweet and tomato-bright.

    The sauce should cling to the bread, not run off it.

    Done when: Sauce thick, glossy, coats a spoon.

  5. 5

    Rest and Serve

    2 Mins Off the heat

    Rest the pan for 2 minutes, scatter over the spring onions, and serve in bowls with crusty bread.

    The rest lets the meatballs drink up the sauce.

    Done when: Hot bowls, meatballs glossy, bread ready for dipping.

Finishing Touches & Plating

Let the pan rest for 2 minutes so the meatballs drink up the sauce, then serve in bowls with plenty of crusty bread for dipping.

Nutritional Physiology & Benefits

Nutrition

Energy

519

kcal / serving

Protein

29g

Complete AA

Carbs

22g

Complex

Fats

36g

Healthy

Per serving (4 servings · 1 serving ≈ 310 g)
Energy519 kcal
Protein29 g
Carbohydrates22 g
Fat36 g
Fibre4.0 g
Sugar9.7 g
Sodium618 mg
Per 100g
Energy167 kcal
Protein9.5 g
Carbohydrates7.1 g
Fat11.5 g
Fibre1.3 g
Sugar3.1 g
Sodium199 mg

Nutrition values are estimated — calculated from USDA FoodData Central values for the listed ingredients.

Vitamins & minerals: Pork and egg supply vitamin B12, iron and zinc, and the tomato sauce adds vitamin C and lycopene.

Protein That Fills You Up

Pork and egg together give 29.3 g of protein per serving, so one bowl keeps you full for hours.

Iron & B12 from Pork and Egg

Pork and egg are natural sources of iron, zinc and vitamin B12.

Lycopene from Cooked Tomatoes

Cooking tomatoes makes their lycopene easier for the body to use, and the sauce carries it in every spoonful.

Food Pairings

What to Eat With

To optimize nutrient absorption and elevate the sensory depth, pair with these authentic accompaniments:

Sides

Crusty Baguette

A crusty baguette is the essential partner — it is made for tearing and dipping in the tomato sauce.

Vegetables

Pickled Carrot & Daikon

Sharp, crunchy pickles cut the richness of the pork and refresh the palate between bites.

Cucumber & Herb Salad

Cool cucumber, mint and coriander lighten the rich, warm sauce.

Drinks

Jasmine Tea

Hot jasmine tea cleanses the palate and suits the gentle sweetness of the sauce.

Complete menu

Serve a bowl of xiu mai with a crusty baguette, pickled carrot and daikon, and cucumber and herb salad, then fresh fruit — the pickles cut the richness of the pork.

Digestive Guardrails

What NOT to Combine

To prevent digestive distress, sluggishness, or palate clash, avoid pairing the dish with these elements:

Undercooked Meatballs

Ground pork must reach 71°C (160°F) in the centre — ground meat cooks unevenly, so check the largest meatball. This is general food information, not medical advice.

Tasting the Raw Mixture

Do not taste the raw pork mixture to check the seasoning — the egg and pork are only safe once cooked through. This is general food information, not medical advice.

General information only, not medical advice — consult a doctor for personal dietary decisions.

Who Should Eat It

Who Should Eat

  • General adultsA hearty lunch — 519 kcal per serving with bread for dipping.
  • ChildrenMild and sweet-savoury; cut the meatballs in half for younger children.
  • ElderlySoft meatballs are easy to chew; serve with soft bread if crusty bread is hard to manage.
  • Pregnant womenFine when the meatballs are cooked through to 71°C (160°F) and the eggs are hard-boiled.
  • Breastfeeding womenA filling, iron-rich meal; the sauce is mild and the dish reheats well.
  • Athletes29.3 g of protein per serving with bread makes a solid recovery meal.
  • Weight gainAdd more bread and a second egg for extra calories.
  • Weight lossTwo meatballs with sauce and a salad, skipping the bread, is a lighter portion.

Health Conditions — Adjust or Avoid

Conditions

  • Diabetes22.0 g of carbohydrate per serving, mostly from the sauce — the bread portion matters most. Ask your clinician about portions.
  • High blood pressureFish sauce and tomatoes make this salty at 618 mg sodium per serving. Ask your clinician about your sodium budget.
  • Kidney diseaseHigh in protein and sodium, so keep portions small and check your plan. Ask your clinician.
  • GoutPork is moderately high in purines — eat occasionally and in small portions. Ask your clinician.
  • Stomach issuesTomato sauce is acidic and can trouble reflux; eat a smaller portion and avoid eating late. Ask your clinician.
  • Cardiovascular diseaseThe pork is rich at 35.8 g of fat per serving — choose leaner pork and skim the sauce. Ask your clinician.
  • Fatty liverKeep the portion small and the bread wholegrain where possible. Ask your clinician.
  • Food allergiesContains pork, egg, wheat (breadcrumbs) and fish sauce. Do not eat if you are allergic to any of these.
  • Special therapeutic dietsNot suitable for low-sodium or gluten-free diets without changing the breadcrumbs and sauces. Ask your clinician or dietitian.

If you have a medical condition, consult your doctor before changing your diet.

Storage & Use

Storage & Use

How to store
Cool quickly and refrigerate in a sealed container, sauce and all.
In the fridge
3 days in the fridge at 4°C (40°F) or below.
In the freezer
Up to 2 months, in portions with the sauce.
How to reheat
Simmer gently until steaming and the meatballs reach 74°C (165°F); do not boil hard.
Freezing recommended
Yes — the sauce protects the meatballs in the freezer.
Signs it has spoiled
Sour smell, slimy sauce, or mould on the surface.

More recipes to explore

A bowl of Vietnamese phở bò with rare beef, rice noodles and fresh herbs Vietnam flag Vietnam 3h 30m
Breakfast •Hanoi Heritage

Phở Bò Tái Nạm

Slow-simmered star anise and cinnamon bone broth with hand-cut rice noodles, supplying clean restorative warmth and collagen. One serving is about 775 g.

Immunity & Warming

Slow-simmered bone broth with rice noodles, rare beef and fresh herbs.

Pairs Well With
Crispy quẩy, fresh lime & sawtooth coriander
Soups & Broths • High Protein
Gỏi cuốn — Vietnamese fresh spring rolls with prawn and pork Vietnam flag Vietnam 1h 5m
Snack & Tea •Saigon Refresh

Gỏi Cuốn Tôm Thịt

Fresh rice paper rolls filled with poached prawns, tender pork, rice vermicelli, lettuce, herbs and carrot, served with a peanut dipping sauce.

Light Digestion

Nothing is fried, so the rolls stay light and fresh — a cool, herb-filled snack for hot days.

Pairs Well With
Artisanal Peanut Dip & Fresh Lotus Root Water
High Protein
Vietnamese braised pork belly with golden eggs in caramel sauce Vietnam flag Vietnam 1h 45m
Dinner •One Pot

Vietnamese Braised Pork and Eggs

Pork belly slowly braised in coconut water and caramel until meltingly tender, with golden eggs that soak up the sweet-savoury sauce — the Vietnamese family dish that tastes better the next day.

Comfort & Sustained Energy

Slow-braised pork belly and eggs in coconut water and caramel.

Pairs Well With
Steamed rice & pickled mustard greens
High Protein
Six small bowls of Vietnamese duck blood pudding topped with roasted peanuts, with fresh herbs and a green chili on a metal tray Vietnam flag Vietnam 1h 10m
Snack & Tea •Hanoi Heritage

Vietnamese Tiết Canh

WARNING: This dish is made from raw duck blood and eating it is NOT recommended. Raw blood can carry Streptococcus suis (which causes meningitis and sepsis — people in Vietnam have died after eating pig-blood tiet canh), avian influenza from duck blood, salmonella and other dangerous germs. Vietnam's Ministry of Health advises against eating tiet canh, and no preparation method — not even blood from a fresh or trusted source — makes raw blood fully safe. This page describes the traditional Hanoi preparation, tiết canh vịt, for cultural knowledge only. One serving is about 241 g: a small bowl of fresh duck blood mixed with fish sauce, poured over finely chopped cooked duck meat and left to set into a soft, trembling jelly, then finished with crushed roasted peanuts, fresh herbs, lime and chili, and served cold.

Cultural Discovery

A traditional northern Vietnamese snack of raw duck blood set into a soft jelly with cooked duck meat, herbs and peanuts — described here for cultural knowledge, with a serious safety warning.

Pairs Well With
Fresh herbs, lime wedges, sliced chili and rice crackers on the side.

The Dinner Gazette

Never wonder what’s for dinner again

One email a week with easy dinner ideas from around the world — ingredients, steps and nutrition, tested in our kitchen first.

Delivered every Thursday morning. Unsubscribe anytime.