Tender, oversized pork meatballs studded with crunchy water chestnuts, gently braised with sweet napa cabbage in a light soy-based broth. This Cantonese classic balances richness and freshness in one warming clay-pot-style dish.
Prep Time25 mins
Cook Time50 mins
Total Time75 mins
Servings4
Yield4 servings (4 large meatballs)
Nutrition Facts
Per serving (estimated)
- 510 kcalCalories
- 32 gFat
- 10 gSaturated Fat
- 16 gCarbs
- 4 gFiber
- 6 gSugar
- 34 gProtein
- 1180 mgSodium
- 780 mgPotassium
- 160 mgCalcium
- 3 mgIron
- 38 mgVitamin C
- 320 mcgVitamin A
Ingredients
For the meatballs
- 1.5 lb (680 g) ground pork (about 20% fat)
- 1/2 cup finely chopped water chestnuts
- 1 large egg, lightly beaten
- 2 tbsp cornstarch
- 1 tbsp grated fresh ginger
- 3 scallions, finely chopped (white and green parts)
- 2 tbsp light soy sauce
- 1 tsp toasted sesame oil
- 1/2 tsp freshly ground white pepper
- 1 tsp kosher salt
For the cabbage and braise
- 1 medium head napa cabbage (about 2 lb), cut into 2-inch chunks
- 4 cups low-sodium chicken stock
- 3 tbsp light soy sauce
- 2 tbsp Shaoxing wine
- 1 tbsp dark soy sauce
- 2 tsp sugar
- 3 slices fresh ginger, smashed
- 2 whole star anise
- 2 tbsp neutral oil, for pan-searing
Directions
- In a large bowl, combine the ground pork, water chestnuts, egg, cornstarch, ginger, scallions, soy sauce, sesame oil, white pepper, and salt. Using your hands or a spoon, mix in one direction for 2-3 minutes until the mixture becomes sticky and cohesive; do not overmix.
- Wet your hands and shape the pork mixture into 4 large, smooth meatballs (about 6 oz each), pressing gently to remove air pockets.
- Heat the neutral oil in a wide, heavy pot or deep skillet over medium-high heat. Add the meatballs and sear, turning carefully with a spatula, until deeply golden on all sides, about 6-8 minutes total. Transfer to a plate.
- Pour off excess oil, then arrange the napa cabbage chunks in the pot in an even layer. Return the meatballs on top, tucking them into the cabbage.
- Add the chicken stock, light soy sauce, Shaoxing wine, dark soy sauce, sugar, ginger slices, and star anise. The liquid should come about three-quarters up the meatballs; add water if needed.
- Bring to a gentle boil, then reduce heat to low, cover, and simmer for 35-40 minutes, turning the meatballs once halfway through, until the pork is cooked through and tender and the cabbage is silky.
- Carefully lift the meatballs and arrange them on top of the cabbage in a serving dish, or serve directly from the pot. Spoon the braising liquid over the top and garnish with extra sliced scallions if desired.
- Serve hot with steamed jasmine rice to soak up the flavorful broth.
Cook’s Notes
- Use pork with around 20% fat for juicy, tender meatballs; lean pork will make them dry and tough.
- Mixing the pork in one direction only develops the myosin proteins that give the meatballs their signature bouncy texture.
- A traditional clay sand pot (shaguo) gives the best heat retention and authentic flavor; a Dutch oven works well too.
- For an even richer broth, replace 1 cup of chicken stock with unsalted pork stock if available.
- Leftover meatballs taste even better the next day as the flavors meld; reheat gently with a splash of water.










