Chinese steamed pork meatballs with water chestnuts are a staple of Cantonese dim sum and home-style Chinese cooking - tender, juicy, and studded with crunchy bits of water chestnut in every bite. Unlike pan-fried or deep-fried meatballs, steaming keeps the pork exceptionally moist while the cornstarch gives the exterior a delicate, bouncy bite.

The combination is simple: ground pork seasoned with soy sauce, ginger, sesame oil, and Shaoxing wine, bulked out with finely chopped water chestnuts that add a clean, slightly sweet crunch. A light soy-vinegar dipping sauce is all you need alongside. Ready in 20 minutes, start to finish.

How to Make Chinese Steamed Pork Meatballs with Water Chestnuts

  1. Drain the canned water chestnuts and pat dry with paper towels. Finely chop into 1/4-inch pieces - they should retain visible crunch, not turn into a paste.
  2. In a large bowl, combine ground pork, chopped water chestnuts, scallions, ginger, garlic, soy sauce, Shaoxing wine, sesame oil, cornstarch, sugar, salt, and white pepper.
  3. Mix with a fork or chopsticks in one direction for 2 to 3 minutes until the mixture is cohesive and slightly sticky. Do not overmix - stop when the cornstarch is fully incorporated.
  4. Wet your hands to prevent sticking. Shape the mixture into 16 to 18 meatballs, about 1.5 inches in diameter, rolling gently to form smooth balls.
  5. Arrange meatballs on a lightly oiled heatproof plate or in a bamboo steamer lined with parchment rounds, leaving 1 inch of space between each for steam circulation.
  6. Bring 2 inches of water to a boil in a wok or pot fitted with a steamer rack. Steam meatballs over high heat for 10 to 12 minutes until cooked through (internal temperature 160F / 71C).
  7. Remove from steamer. Garnish with cilantro or scallion slivers. Serve hot with soy-vinegar dipping sauce.

Ingredients

  • 1 lb (450 g) ground pork, 80/20 lean-to-fat ratio
  • 1/2 cup (85 g) canned water chestnuts, drained and finely chopped
  • 2 scallions, finely sliced
  • 2 tsp fresh ginger, finely grated
  • 2 cloves garlic, minced
  • 1 tbsp light soy sauce
  • 1 tbsp Shaoxing wine (or dry sherry)
  • 1 tbsp sesame oil
  • 2 tsp cornstarch
  • 1 tsp sugar
  • 1/2 tsp kosher salt
  • 1/4 tsp white pepper
  • Cilantro sprigs or scallion slivers for garnish
  • Soy-vinegar dipping sauce for serving

Soy-Vinegar Dipping Sauce

Mix equal parts light soy sauce and black vinegar (Chinkiang vinegar), then add a pinch of sugar, a few drops of sesame oil, and a sprinkle of sliced red chili or ginger slivers. The sharp, savory-sour dip cuts through the rich pork and brightens every bite.

Why Steam Instead of Fry?

Steaming is the traditional method for this style of Chinese meatball, and it does three things that frying cannot:

  • Keeps the meatballs tender and juicy - no high heat to dry out the exterior
  • Preserves the water chestnut crunch - the water chestnuts stay crisp instead of softening in hot oil
  • Produces a silky, bouncy texture - the cornstarch creates a delicate surface that pan-frying would turn crusty

The result is a meatball that feels lighter than a fried equivalent, closer to a dim sum dumpling filling in texture than a classic Italian polpetta. Serve them as an appetizer with dipping sauce, or pile them over rice with steamed bok choy for a full dinner.

Choosing Water Chestnuts: Canned vs Fresh

Factor Canned Fresh
Convenience Drain and chop - no prep Must peel and trim
Texture Slightly softer, still crunchy Crisper, more pronounced snap
Flavor Milder Sweeter, more earthy
Availability Any grocery store Asian markets, seasonal
Best for Quick weeknight cooking Special dim sum spread

Canned water chestnuts work perfectly here and save significant prep time. If using fresh, peel them with a paring knife, rinse well, and chop just before using. Do not boil fresh water chestnuts before adding them - the crunch is the whole point.

Variations

Chicken version: Substitute ground chicken for pork. Reduce sesame oil to 2 tsp and add 1 extra tsp of cornstarch to compensate for the leaner meat.

Shiitake upgrade: Rehydrate 4 dried shiitake mushrooms in warm water, squeeze dry, and finely chop. Add with the water chestnuts for an umami boost. This is a common dim sum variation.

Spiced version: Add 1/2 tsp five-spice powder to the mixture. The star anise and cinnamon notes complement the pork-and-ginger base beautifully.

Panko-sriracha dipping sauce: Mix 3 tbsp soy sauce, 2 tsp sriracha, 1 tsp honey, and 1 tsp toasted sesame seeds. A quicker, spicier alternative to the traditional soy-vinegar dip.

Steamer Options

Method Instructions
Bamboo steamer Line with parchment rounds. Stack over a wok or pot of boiling water. Steam 10 to 12 minutes. The bamboo absorbs excess moisture and adds a subtle aroma.
Metal steamer basket Oil the basket or line with parchment. Works identically to bamboo but may drip slightly more condensation onto the meatballs.
Plate in a pot Place a heatproof plate on an inverted bowl or steamer trivet inside a large pot with a tight lid. This is the most accessible method and works perfectly.
Instant Pot Add 1 cup water to the inner pot. Place a trivet and the plate of meatballs. Steam on high pressure for 6 minutes, then natural release 5 minutes.

Regardless of method, keep the water at a steady boil and do not lift the lid during steaming - trapped steam is what cooks the meatballs evenly.

Serving Ideas

These steamed pork meatballs work as both an appetizer and a main:

  • Dim sum spread - serve on the steamer basket lined with lettuce leaves, with small bowls of soy-vinegar dip and chili oil
  • Rice bowl - steam the meatballs directly over rice in a rice cooker basket for a one-pot dinner
  • Lettuce wraps - nestle 2-3 meatballs in butter lettuce cups with quick-pickled carrots and sriracha mayo
  • Noodle soup - drop the steamed meatballs into hot chicken broth with baby bok choy and thin wheat noodles

For more Chinese-style meatball recipes, browse our Chinese Meatball Recipes collection or check out the classic Lion’s Head Meatballs - giant braised pork meatballs in ginger broth.

Storage and Make-Ahead

Uncooked meatballs keep in the refrigerator for up to 1 day on a parchment-lined tray covered with plastic wrap. Steam fresh for best texture.

Cooked meatballs refrigerate for 3 to 4 days in an airtight container. Reheat by steaming for 3 to 4 minutes or microwaving covered with a damp paper towel.

Freeze uncooked meatballs on a parchment-lined tray until solid, then transfer to a freezer bag for up to 3 months. Steam from frozen, adding 3 to 4 extra minutes.

Key Takeaways

  • Use 80/20 ground pork - the fat keeps meatballs tender after steaming
  • Finely chop water chestnuts - they should add crunch, not disappear into the meat
  • Mix in one direction for 2 to 3 minutes until sticky and cohesive
  • Steam over high heat for exactly 10 to 12 minutes - do not lift the lid
  • Serve with a simple soy-vinegar dipping sauce to balance the richness

FAQ

Can I use ground turkey or chicken instead of pork? Yes. Lean poultry benefits from an extra teaspoon of sesame oil and a touch more cornstarch (1 extra tsp). The texture will be slightly less rich but still tender and juicy.

Do I need a bamboo steamer? No. A metal steamer basket, a heatproof plate set on a trivet inside a lidded pot, or an Instant Pot all work. The key is a tight seal and steady boiling water.

How do I keep meatballs from sticking to the steamer? Line the steamer or plate with parchment rounds cut to size. Lightly oiling the parchment adds extra insurance. Do not use wax paper - it will melt.

Can I make these ahead for a party? Form the meatballs up to 1 day ahead and refrigerate on a tray. Steam just before serving. Cooked meatballs hold well in a covered dish for 15 to 20 minutes if you need to batch-steam.

What is white pepper and can I skip it? White pepper is milder than black pepper with a slightly floral, earthy note. It is traditional in Chinese cooking because it blends visually into light-colored dishes. Substitute black pepper at half the amount, or skip it.

Why do my meatballs turn out dense? Two likely causes: overmixing the meat (stop as soon as everything is combined) or using lean ground pork (choose 80/20). A third culprit is steaming too long - check doneness at 10 minutes with an instant-read thermometer.

Sources