These are small ground pork meatballs — about 25 of them — seasoned with garlic, ginger, onion, and rehydrated shiitake mushrooms, then finished in a thin soy-and-wine glaze. The whole thing takes 35 minutes, which makes it a genuinely useful weeknight option rather than a weekend project. Serve over rice or noodles and you’re done.
The short version of why this works
Two things carry this recipe. First, running the aromatics — garlic, onion, ginger, mushrooms — through a food processor before mixing them into the pork means they’re finely broken down and distributed evenly. That keeps the meatballs cohesive and moist rather than studded with chunks that fall apart in the pan. Second, the glaze is built in the same pan after the meatballs come out, so it picks up the browned bits left behind. It’s a small step that adds real depth to what is otherwise a very short ingredient list. The cornflour thickens it just enough to cling to the meatballs without turning sticky or heavy.
What can go wrong
- Mushrooms not fully rehydrated: 15 minutes is the minimum — if your dried shiitakes are thick, give them 20-25 minutes in hot water. Under-soaked mushrooms won’t blitz down properly and leave tough bits in the mix.
- Meatballs falling apart in the pan: This usually means the mixture wasn’t mixed firmly enough, or the oil wasn’t hot before you added them. Let the pan heat properly first and don’t move the meatballs until they’ve formed a crust on the bottom — about 2 minutes.
- Meatballs undercooked in the centre: At 1 inch they cook through quickly, but don’t rely on colour alone. Ground pork must reach 160°F (71°C) internally. If they’re browning fast on the outside, lower the heat and give them a couple more minutes rather than pulling them too soon.
- Glaze seizing or going lumpy: Mix the cornflour into the soy sauce before it goes into the pan — adding dry cornflour directly to a hot liquid almost always clumps. Thirty seconds of stirring off the heat before you add it back to the pan is enough.
- Bland meatballs: The recipe uses half a pound of pork, which is a modest amount. Skip the garnish — not worth the extra dish — but do taste the raw mix before rolling. A small pinch of salt in the meatball mixture goes a long way here since the sauce is the main seasoning vehicle.

Vietnamese Pork Meatballs with Soy-Wine Glaze
Equipment
Ingredients
For the meatballs
½ pound ground pork - minced pork, 225g
½ oz shiitake mushrooms - (dried) about 4-5 caps / 15g
1 clove garlic - crushed
1 teaspoon ginger - freshly grated, about 3g
1 small yellow onion - about 90g
1 small carrot - peeled, approximately 60g
For the sauce
- 1 tablespoon neutral oil - vegetable or canola, for frying
1 clove garlic - crushed
1 teaspoon ginger - freshly grated, about 3g
1 tablespoon white wine - or rice wine (Shaoxing)
1 tablespoon soy sauce
½ teaspoon cornflour - cornstarch
½ teaspoon sugar (white sugar)
Instructions
- If using dried shiitake mushrooms, place them in a small bowl and cover with boiling water. Soak for 15 minutes until softened, then drain and squeeze out excess water.1/2 oz shiitake mushrooms
- Add the garlic, onion, ginger, carrot, and drained mushrooms to a food processor. Pulse until finely minced but not pureed — you want a coarse paste. Transfer to a medium bowl, add the ground pork, and mix with your hands until evenly combined.1/2 pound ground pork, 1/2 oz shiitake mushrooms, 1 clove garlic, 1 teaspoon ginger, 1 small yellow onion, 1 small carrot
- Using damp hands (to prevent sticking), roll the mixture into 1-inch (2.5cm) meatballs — you should get approximately 25. Place them on a plate or lined tray as you go.
- Heat 1 tablespoon of neutral oil in a non-stick skillet over medium-high heat. Fry the meatballs in two batches, turning every 1-2 minutes, until evenly browned and cooked through — about 6-8 minutes per batch. The internal temperature should reach 160°F / 71°C. Transfer to a plate.1 tablespoon neutral oil
- Reduce heat to medium. In the same skillet, fry the garlic and ginger for 30 seconds until fragrant. Add the white wine (or rice wine), soy sauce, sugar, and cornflour. Stir constantly for about 1 minute until the sauce thickens slightly into a glaze. Return the meatballs to the pan and toss to coat evenly.1 clove garlic, 1 teaspoon ginger, 1 tablespoon white wine, 1 tablespoon soy sauce, 1/2 teaspoon cornflour, 1/2 teaspoon sugar (white sugar)
- Serve with steamed rice or noodles and a side salad of herbs and lettuce.
Notes
Nutrition
Frequently asked questions
Can I use fresh mushrooms instead of dried shiitake?
Yes, but use about 30 grams of fresh shiitake or cremini and blitz them well — they have more water content than rehydrated dried mushrooms. Pat them dry first so the extra moisture doesn’t make the meatball mixture too wet to hold its shape.
Can I make the meatballs ahead and reheat them?
You can cook the meatballs fully, refrigerate them for up to 2 days, and reheat in a covered pan over low heat with a splash of water to loosen the glaze. Make sure they’re piping hot all the way through before serving — ground pork needs to hit 160°F (71°C) again after reheating.
What can I use instead of rice wine or white wine?
A tablespoon of low-sodium chicken stock works fine and keeps the flavour clean. Apple cider vinegar diluted with a little water is a reasonable substitute too, though it adds a slight tartness — reduce the amount to about half a tablespoon if you go that route.
Can I freeze these?
Freeze the cooked meatballs without the glaze for best results — the cornflour-thickened sauce can go watery on thawing. Store them flat in a single layer until solid, then transfer to a bag. Make the glaze fresh when you reheat; it only takes a couple of minutes.
Try these next
- Savory Pork Noodle Stir-Fry
- Japanese Pork Lettuce Cups
- Authentic Szechuan Dan Dan
- Crispy Pork Dumpling Delight










