This easy and traditional Xíu Mại, or Vietnamese Pork Meatballs in Tomato Sauce, brings savory comfort to your table in less than an hour! Juicy pork meatballs are simmered in a sweet and savory tomato sauce and can be served with rice or a crusty bánh mi baguette. It's a deliciously satisfying dish that'll have the whole family asking for seconds!
Prep your meatballs. First, add a splash of cooking oil to a small pan and heat over medium to medium-low. Add the finely diced onion and garlic, along with a small pinch of salt. Cook for 1-2 minutes until lightly translucent, stirring frequently and making sure the garlic doesn't brown. Then transfer to a bowl and let cool in fridge for 10-15 minutes.
Wrap the grated jicama in a cheesecloth, clean kitchen towel, or dry paper towels. Wring to squeeze out excess water - you should end up with ⅓ cup jicama flakes.
To a large mixing bowl, add ground pork, cooled onion and garlic, jicama, ketchup, 1¼ teaspoon chicken bouillon powder, 1 tablespoon corn starch, 2 teaspoon kosher salt, and ½ teaspoon pepper. Flake the jicama so it'll distribute evenly, then mix everything together until combined but making sure to not over-mix.
Form the meatballs. Use a 3 tablespoon cookie scooper or spoon to divide meat mixture into 18 portions. Roll between your hands to form balls. Set aside for now.
Cook the sauce. Heat a large pot over medium-high heat and add a splash of oil. Add chopped onion with a pinch of salt, cooking for 2-3 minutes until edges are lightly translucent. Then stir in garlic until fragrant, about 30 seconds. If there are any browned bits on the bottom of the pot, pour in a tiny bit of tomato sauce and use your wooden spoon to scrape up the browned bits.
Pour in the tomato sauce. Then pour the chicken broth into the empty sauce can and add it all to the pot, along with sugar, ½ teaspoon chicken bouillon powder, fish sauce, ½ teaspoon salt, and ¼ teaspoon pepper. Bring to a boil.
Once the sauce is boiling, turn the heat down to medium. Gently add the meatballs, cover pot with a lid, and let simmer for 5-7 minutes.
Next, flip each meatball and add corn starch slurry. Gently stir and continue simmering, uncovered, for an additional 10 minutes until meatballs are cooked through with an internal temperature of 160℉. Make sure to gently stir frequently and baste the meatballs with the sauce.
Season to taste. Garnish with cilantro and green onion, if using. Serve warm with rice, banh mi, or noodles.
Notes
Jicama: Has a crunchy texture with a mildly sweet and nutty flavor. It's grated and added to Vietnamese meatballs to keep them juicy and bouncy. Make sure to squeeze out the excess water or else the Xiu Mai will fall apart when cooked. Find fresh jicama root in Asian or Hispanic markets, usually next to the potatoes and turnips.
Canned tomato sauce: Most Xiu Mai recipes use fresh tomatoes, but using canned tomato sauce provides a consistent texture and flavor year-round. Use unsalted if you can find it.
Cooking oil: Avocado oil is my favorite oil to cook, fry, and sauté with because of its high smoke point (500°F) and neutral flavor.
Kosher salt: The salt amounts listed in this recipe are for Diamond Crystal kosher salt. If using Morton kosher salt, sea salt, or Himalayan pink salt, reduce by half. If using table salt, reduce the salt by ¼.
Substitutions:
Feel free to use any ground meat you'd like. Ground chicken or turkey would be the best substitutes due to their mild flavor like ground pork. Ground beef also works, but the flavor would change.
If you can't find jicama, substitute it with water chestnuts or turnip. Finely dice or grate, then squeeze out the excess water.
Replace corn starch with tapioca or potato starch.
If using fresh tomatoes, I recommend using 1 lb Roma tomatoes. Score them by making a shallow "X" on the bottom and blanch them in boiling water for about 1 minute. Transfer to an ice bath, then peel off the skin. Add to the sauce with the chicken broth. You may need corn starch since the fresh tomatoes will add more water to the sauce.