Go Back Email Link
+ servings
Seven meatballs in a thin tomato sauce in a white plate with gold trim

Vietnamese Meatballs (Xíu Mại)

These versatile pork and shrimp meatballs are melt in your mouth tender. Fresh tomatoes make for a savory and tangy sauce, and diced jicama lend a subtle crunch.
Course Appetizer, Breakfast, dinner, lunch, Main Course
Cuisine Asian, Vietnamese
Keyword Meatballs, Pork, Shrimp
Prep Time 20 minutes
Cook Time 30 minutes
Total Time 50 minutes
Servings 4
Calories 531kcal


  • Bambo Steamer or Steamer Basket


  • 450 g ground pork (about 1 lb, 80% lean 20% fat recommended)
  • 125 g shrimp, peeled, deveined and finely minced (about 5 oz or ¼ cup)
  • ½ teaspoon salt
  • ½ teaspoon ground black pepper
  • 1 small shallot, minced (about 1 tbsp)
  • 4-5 cloves garlic, minced (about 1 tbsp)
  • 150 g jicama, finely diced (about 5 oz or ½ cup)
  • 30 g panko bread crumbp (about ⅓ cup)
  • 1 teaspoon vegetable oil
  • 2 medium tomatoes (about 600-650g, or 1½-2 lbs)
  • cup chicken broth or water (about 350 ml or 12 fluid oz)


  • Gently mix together the ground pork, shrimp, jicama, salt, pepper, fish sauce, shallot, garlic and bread crumbs until just combined. Be careful not to overmix this as it will result in a tougher meatball texture.
  • Shape the mixture into 16 golf ball sized meatballs with lightly oiled hands. You can also use a tablespoon or a small scoop. Feel free to make the meatballs larger or smaller depending on what you want to eat them with.
  • Arrange the meatballs in a heat-safe plate or tray and steam them until just cooked. This will take about 15-20 minutes for golf-ball sized meatballs. They will release some liquid while they steam. Keep this to make the sauce.
  • While the xíu mại are steaming, make the sauce. Bring a small pot of water to boil and carefully place the tomatoes in for about 30 seconds, or until the skin easily peels back. Peel the skin back and blend them until smooth.
  • In a heavy-bottomed with a little bit of oil, heat the tomato puree over medium heat until a rich red color develops and the tomato puree has thickened. If you drag a spatula across the bottom of the pot, you should be able to see the bottom for a second before the sauce pools back down.
  • When you're happy with the color of the tomatoes, add 1 cup of chicken broth or water.
  • Once the xíu mại are ready, take them out of the steamer and carefully add them to the tomato sauce, along with any liquid that they may have released.
  • Season with more salt and pepper to taste.


  • I recommend finding ground pork with a little bit of fat in it for the best texture in your Vietnamese meatballs. 80% fat 20% lean works.
  • If you cannot find jicama at the grocery store, you can use canned water chestnuts to get the same effect. I wouldn't recommend omitting this entirely as it adds moisture as well as a subtle crunch to the meatball.
  • If you don't have the proper equipment to steam the meatballs, you can bake or pan fry them before adding to the tomato sauce. I find that the texture of the steamed meatballs is the most tender.
  • You can use regular breadcrumbs if you don't have panko crumbs. Panko crumbs will result in a more tender meatball, though.
  • For a thicker, chunkier sauce, do not peel and puree the tomatoes. Just dice them up and fry them in oil until most of the liquid has evaporated. Add less chicken broth to the sauce to get the sauce consistency you like.


Serving: 4meatballs | Calories: 531kcal | Carbohydrates: 17.5g | Protein: 40.6g | Fat: 23.8g | Saturated Fat: 7.2g | Polyunsaturated Fat: 0.1g | Cholesterol: 162.2mg | Sodium: 835.4mg | Potassium: 366mg | Sugar: 5.6g