Xiu Mai (Vietnamese Meatballs)

By: Megan•Posted: 30/03/2022 •Updated: 30/11/2023
Prep 15 minutes
Cook 40 minutes
Total 55 minutes
There is nothing more comforting than this xiu mai (Vietnamese meatballs) recipe. These juicy pork and jicama meatballs lay in a delicious pool of hearty umami-flavored tomato sauce.
Xiu Mai (Vietnamese Meatballs)

There is nothing more comforting than this xiu mai (Vietnamese meatballs) recipe. These juicy pork and jicama meatballs lay in a delicious pool of hearty umami-flavored tomato sauce.

Looking down at a bowl of Vietnamese meatballs.

If you are in the mood for a delicious comfort meal, this xiu mai recipe is perfect for you. There is nothing more satisfying than taking a bite into these juicy steamed pork meatballs that have a subtle crunch from the jicama and are slathered in a rich savory tomato sauce. When you make these meatballs at home, you can easily meal prep them by doubling the recipe and freezing the meatballs for later!

These Vietnamese meatballs in tomato sauce are traditionally eaten for breakfast with a side of baguette slices, but you can have them for any meal of the day! You can also eat xiu mai with a side of rice or use them as a protein in a banh mi, my personal favorite. If you are interested in making more Vietnamese dishes, check out my bo luc lac (shaking beef), thit kho trung (braised pork ribs), or goi cuon (spring rolls) recipes!

Up close of a low bowl of xiu mai Vietnamese meatballs.

What is Xiu Mai?

Xiu mai, or Vietnamese meatballs, is a Southern Vietnamese comfort food recipe that features tenderly steamed pork and jicama meatballs that are served in savory umami flavored tomato sauce. The most common ways are to eat xiu mai is with rice, with some sliced baguettes for breakfast, or in a banh mi with pickled daikon and carrots, cucumber, jalapenos, and cilantro

Xiu Mai in a banh mi on a plate with parchment paper.

Kitchen Equipment

  • Latex Gloves: this is entirely optional, but I like to wear latex gloves to mix the meat together so that the meat doesn’t get all up in my nails.
  • Steamer: you will need a steamer with a steamer basket and a plate that fits inside the steamer to steam the meatballs to hold their shape.
  • Braiser, wide pot or large sauté pan: You will need a large braiser, wide pot or deep sauté pan to cook down the meatballs and tomato sauce. I used my Le Creuset braiser but any wide pot or sauté pan will work.

Ingredients

All of the ingredients you need for this xiu mai recipe can be found at your local grocery store.

Meatballs

  • Ground Pork: make sure to use fatty ground pork. Ideally, use pork with an 80/20 ratio of meat to pork. If possible, ask your butcher to grind a juicy, fatty pork shoulder or pork butt through their grinder 2x.
  • Yellow Onion is the main aromatic in the meatball that adds more juiciness to the meatball. It also helps make the meatball more tender.
  • Jicama: adds a subtle crunch to these meatballs.
  • Salt and Pepper: seasons the pork
  • Chicken Bouillon Powder: is a popular seasoning used in Asian cooking. The chicken bouillon powder adds another layer of savoriness to the meatball. You can buy chicken bouillon powder online or at your local grocery store.
  • Granulated Sugar: adds a touch of sweetness to the meatballs and balances out the more savory flavors.
All the ingredients to make vietnamese meatballs.

Tomato Sauce

  • Garlic: the main aromatic in the tomato that gives the tomato sauce its delicious garlic-y flavor.
  • Tomato Paste: the base of the tomato sauce. When tomato paste is diluted with the water and cooked down it naturally thickens and creates a delicious flavorful sauce.
  • Granulated Sugar: sugar and tomatoes always pair hand in hand. The sugar calms down the acidity in the tomato paste and sweetens it for a more palatable finish.
  • Water: aids in diluting the tomato paste and making it into a sauce. If you prefer a more watery sauce, feel free to add more water.
  • Fish Sauce: this wouldn’t be Vietnamese meatballs without fish sauce! Fish sauce is the secret ingredient in this tomato sauce that gives the sauce a delicious umami flavor.
All the ingredients to make the sauce for xiu mai Vietnamese meatballs.

Garnish

  • Scallions and cilantro: chop some fresh scallions and cilantro to finish

How to Make Xiu Mai

This xiu mai recipe is incredibly simple to make and only requires five simple steps. I listed some tips and tricks below for the most delicious Vietnamese meatballs.

  1. Season the meat. In a large mixing bowl, add the ground pork, diced onions, and finely diced jicama. Add the salt, chicken powder, sugar, and black pepper and mix with your hands until thoroughly combined.
Ground meat mixed thoroughly with seasoning and vegetables.
  1. Shape the meatballs. Using spray oil, lightly grease two large heatproof plates with a lip that can fit in the basket of your steamer and hold the meat juices. Using your hands tightly shape the meat into 1 to 2-inch meatballs and place them on the greased tray.
A plate of raw meatballs ready for steaming.
  1. Steam the meatballs. Boil water in a steamer. Place the meat in the steamer and steam on high heat for 10 minutes. Reserve the meat juice.
  1. Cook the tomato sauce. In a large skillet, add 2 tbsp of vegetable oil and the minced garlic. Sauté on medium-high until the garlic is fragrant and golden brown. Then turn the heat to low and mix in the 6 oz can of tomato paste and sauté for together for 30 seconds. Next add the sugar, fish sauce, and sauté for another for 30 seconds. (If you are using freshly chopped tomatoes, add them here.) Lastly, add 4 cups of water and mix until combined.
  1. Cook the meatballs in the sauce. On high heat, add all the meatballs with the meat juice. Cook for 20-30 minutes on high heat uncovered until the sauce reduces by 2/3s and thickens.
  1. Serve. Top with chopped scallions and cilantro and enjoy either with a baguette, in a banh mi, with rice, or with noodles!
Looking down at a bowl of Xiu Mai vietnamese meatballs.

Tips for the Best Xiu Mai

  • Use fattier ground pork. The more fat there is in the pork, the juicier the meatball. If your local butcher allows it, ask them to grind pork shoulder through their grinder 2x.
  • Tightly pack the xiu mai meatballs with your hands. Make sure the meat is tightly formed into balls so the meat won’t fall apart.
  • Steam the meatballs. Since pork is a leaner meat, steaming the Vietnamese pork meatballs ensures that the meatballs remain juicy.
  • Keep the meatball juice from the plate! When removing the meatballs from the steamer, make sure to save the juice from the meatballs to use in the tomato sauce later.
  • You can add fresh tomatoes to the sauce if you prefer. If you prefer a more chunky tomato sauce, you can add diced tomatoes when you are adding the fish sauce and sugar to the tomato sauce.

Storage Instructions

You can store the Vietnamese pork meatballs and sauce separate from the banh mi in an airtight container in the refrigerator for up to 1 week.

Frequently Asked Q’s & A’s

What are the different ways are Xiu Mai served?

You can serve xiu mai by garnishing it with some minced scallions alongside either rice, noodles, or baguettes. My favorite way to eat Xiu Mai is in a banh mi, which is served with pickled carrots and daikon (do chua), cilantro, cucumber, and sliced jalapeños.

Can you make the Xiu Mai in advance?

Yes! You can make the entire xiu mai recipe in advance and then store the Xiu Mai in an airtight container and freeze it with the sauce for up to 3 months.

Can I make Xiu Mai with other meats?

Yes! You can make these Vietnamese pork meatballs with either ground chicken, turkey, or beef. Make sure to choose ground meat that has a high percentage of fat at least 15-20%.

What can I substitute jicama with?

If you cannot find jicama at your local supermarket, you can substitute it with minced daikon or water chestnuts for that added crunch.

Did you make this Xiu Mai?

If you made this dish and loved it, please leave a review and comment below. We would greatly appreciate it!

Share your dish with us on Instagram, and tag us @takestwoeggs—we’d love to see and share your delicious creation!

Hungry for more? Follow us on Instagram, YouTube, TikTok, Pinterest, and Facebook for more tasty creations and updates 🍜

Recipe

Looking down at a bowl of Xiu Mai vietnamese meatballs.

Xiu Mai (Vietnamese Meatballs)

5 from 3 votes
Prep Time 15 minutes
Cook Time 40 minutes
Total Time 55 minutes
There is nothing more comforting than this xiu mai (Vietnamese meatballs) recipe. These juicy pork and jicama meatballs lay in a delicious pool of hearty umami-flavored tomato sauce.
Servings: 4 servings
Print Recipe

Equipment

Ingredients

Meatballs

  • 1 ½ lbs ground pork
  • ½ (140 g) yellow onion diced
  • ¼ (140 g) jicama finely diced
  • 1 teaspoon salt
  • 1 ½ teaspoon chicken bouillon powder
  • 1 teaspoon sugar
  • ½ teaspoon black pepper

Sauce

  • 20 whole garlic cloves minced
  • 1 6 oz can tomato paste
  • 2 tablespoon granulated sugar
  • 4 cup water
  • 3 tablespoon fish sauce
  • 2 medium tomatoes diced (optional)

Serve with

  • green onion minced
  • handful of cilantro
  • French Bread, rice or rice Noodles

Instructions

  • Season the meat. In a large mixing bowl, add the ground pork, diced onions, and finely diced jicama. Add the salt, chicken powder, sugar, and black pepper and mix with your hands until thoroughly combined.
  • Shape the meatballs. Using spray oil, lightly grease two large heatproof plates with a lip that can fit in the basket of your steamer and hold the meat juices. Using your hands tightly shape the meat into 1 to 2-inch meatballs and place them on the greased tray.
  • Steam the meatballs. Boil water in a steamer. Place the meat in the steamer and steam on high heat for 10 minutes. You may need to steam the meatballs in batches. Remember to reserve the meat juice.
  • Cook the tomato sauce. In a large skillet, add 2 tbsp of vegetable oil and the minced garlic. Sauté on medium-high until the garlic is fragrant and golden brown. Then turn the heat to low and mix in the 6 oz can of tomato paste and sauté for together for 30 seconds. Next add the sugar, fish sauce, and sauté for another for 30 seconds. (If you are using freshly chopped tomatoes, add them here.) Lastly, add 4 cups of water and mix until combined.
  • Cook the meatballs in the sauce. On high heat, add all the meatballs with the meat juice. Cook for 20-30 minutes on high heat uncovered until the sauce reduces by 2/3s and thickens.
  • Serve. Top with chopped scallions and cilantro and enjoy either with a baguette, in a banh mi, with rice, or with noodles!

Notes

  • Use fattier ground pork. The more fat there is in the pork, the juicier the meatball. If your local butcher allows it, ask them to grind pork shoulder through their grinder 2x.
  • Tightly pack the xiu mai meatballs with your hands. Make sure the meat is tightly formed into balls so the meat won’t fall apart.
  • Steam the meatballs. Since pork is a leaner meat, steaming the Vietnamese meatballs ensures that the pork remains juicy.
  • Keep the meatball juice from the plate! When removing the meatballs from the steamer, make sure to save the juice from the meatballs to use in the tomato sauce later.
  • You can add fresh tomatoes to the sauce if you prefer. If you prefer a more chunky tomato sauce, you can add diced tomatoes when you are adding the fish sauce and sugar to the tomato sauce.

Nutrition:

Calories: 526kcal | Carbohydrates: 18g | Protein: 31g | Fat: 36g | Saturated Fat: 13g | Polyunsaturated Fat: 3g | Monounsaturated Fat: 16g | Cholesterol: 123mg | Sodium: 1961mg | Potassium: 678mg | Fiber: 3g | Sugar: 9g | Vitamin A: 29IU | Vitamin C: 15mg | Calcium: 76mg | Iron: 2mg

Rate & Review What did you think of this recipe?

Your email address will not be published. Required fields are marked *

Recipe Rating




  1. 5 stars
    Delicious and easy to make. Loved the specific grams on the jicama. My daughter’s new favorite.