Quick Recipe Version (TL;DR)
Quick Ingredients
- 2.25 lb (1 kg) pork neck/back bones or spare ribs
- 12 cups (2.8 L) water
- 1 onion (halved), 2-inch ginger (sliced), 1 small daikon (optional)
- 4 dried shiitake (optional), 1 tbsp rock sugar (or 2 tsp sugar)
- 2 tbsp fish sauce + 1 tsp kosher salt + 1/2 tsp peppercorns
- 1 lb (450 g) ground pork
- 1/2 oz (15 g) dried wood ear mushrooms
- 2 tbsp minced shallot, 2 garlic cloves (minced)
- 1.5 tbsp fish sauce, 1 tsp sugar, 1 tsp white pepper
- 2 tbsp cornstarch + 1 tsp baking powder (optional) + 3 tbsp ice water
- 12 oz (340 g) dried rice vermicelli
- 4 scallions, 1/2 cup cilantro, 2 limes, fried shallots
Do This
- 1. Broil onion and ginger until charred (5–7 min). Soak wood ear in hot water (15 min). Parboil bones 5 min; rinse.
- 2. Simmer bones with 12 cups water, onion, ginger, daikon, shiitake, peppercorns at a bare simmer (190–200°F) for 75 min; skim.
- 3. Mix meatballs: finely chop wood ear. Combine with pork, shallot, garlic, fish sauce, sugar, white pepper, cornstarch, baking powder, ice water. Beat until sticky; chill 15 min.
- 4. Strain broth; season with 2 tbsp fish sauce, rock sugar, and salt. Keep hot (190°F).
- 5. Poach meatballs in broth at a gentle simmer until they float and reach 160°F, 8–10 min.
- 6. Boil vermicelli 3–5 min; rinse. Portion noodles, add meatballs and hot broth. Top with scallions, cilantro, fried shallots; finish with lime and pepper.
- 7. Taste and adjust fish sauce/salt to balance savory and lightly sweet, peppery broth.
Why You’ll Love This Recipe
- Clear, peppery pork broth with gentle sweetness and aromatics that feel cozy yet bright.
- Bouncy pork-and-wood ear meatballs that are tender with a subtle crunch.
- Simple home-cook techniques for a restaurant-quality Hanoi-style bowl.
- Make-ahead friendly broth and meatballs for quick assembly on busy nights.
Grocery List
- Produce: Onion, ginger, daikon radish (optional), scallions, cilantro, limes, garlic, shallot, Thai bird chiles or jalapeño (optional)
- Dairy: None
- Pantry: Dried wood ear mushrooms, dried shiitake (optional), fish sauce, rock sugar or granulated sugar, cornstarch, baking powder (optional), rice vermicelli, fried shallots, kosher salt, white pepper
Full Ingredients
For the Clear Pork Broth
- 2.25 lb (1 kg) pork neck/back bones or pork spare ribs
- 12 cups (2.8 L) water
- 1 medium yellow onion, halved
- 2-inch piece fresh ginger, sliced lengthwise
- 1 small daikon radish (about 8 oz/225 g), peeled and cut into 3 chunks (optional but recommended)
- 4 dried shiitake mushrooms (optional)
- 1 tbsp rock sugar (or 2 tsp granulated sugar)
- 2 tbsp fish sauce, plus more to taste
- 1 tsp kosher salt, plus more to taste
- 1/2 tsp whole white or black peppercorns
For the Pork-and-Wood Ear Meatballs (Mọc)
- 1/2 oz (15 g) dried wood ear mushrooms
- 1 lb (450 g) ground pork (15–20% fat)
- 2 tbsp finely minced shallot (about 1 small shallot)
- 2 garlic cloves, minced
- 1.5 tbsp fish sauce
- 1 tsp sugar
- 1 tsp ground white pepper
- 2 tbsp cornstarch
- 1 tsp baking powder (optional, for a lighter, bouncier texture)
- 3 tbsp ice water
Noodles and Garnishes
- 12 oz (340 g) dried rice vermicelli (bún)
- 4 scallions, thinly sliced
- 1/2 cup cilantro leaves, roughly chopped
- 2 limes, cut into wedges
- 1/2 cup fried shallots
- Thinly sliced Thai bird chiles or jalapeño (optional)
- Freshly ground white or black pepper, to finish
- Fish sauce, for the table
Optional Add-Ins (Traditional Variations)
- 6 oz Vietnamese pork sausage (chả lụa/giò lụa), thinly sliced

Step-by-Step Instructions
Step 1: Char aromatics and soak mushrooms
Adjust oven rack 6 inches from the broiler. Broil the halved onion and sliced ginger on a baking sheet until lightly charred in spots, 5–7 minutes. Meanwhile, place the dried wood ear (and dried shiitake, if using) in a heatproof bowl and cover with boiling water. Soak for 15 minutes, then drain. Trim tough mushroom centers and finely chop the wood ear; slice the shiitake caps if using.
Step 2: Parboil the pork bones for a clear broth
Place pork bones in a large pot, cover with cold water, and bring to a boil over high heat. Boil 5 minutes to release impurities. Drain and rinse the bones under hot water. Rinse out the pot to remove any scum.
Step 3: Build and gently simmer the broth
Return bones to the pot with 12 cups (2.8 L) water, charred onion and ginger, daikon, shiitake (if using), and peppercorns. Bring just to a simmer, then reduce heat to maintain a bare simmer at 190–200°F (no vigorous boiling) for 75 minutes, skimming foam as needed. The broth should remain clear.
Step 4: Make the pork-and-wood ear meatball mixture
In a mixing bowl, combine ground pork, chopped wood ear, minced shallot, garlic, fish sauce, sugar, white pepper, cornstarch, baking powder (if using), and ice water. Using a spoon or your hand, beat the mixture vigorously in one direction until it turns sticky and cohesive, 2–3 minutes. Cover and chill for 15 minutes to firm up.
Step 5: Strain and season the broth
Strain the broth through a fine-mesh sieve into a clean pot; discard solids. Stir in rock sugar, 2 tbsp fish sauce, and 1 tsp kosher salt. Taste and adjust seasoning so it’s savory with a gentle sweetness. Keep the broth at a gentle simmer (about 190°F).
Step 6: Poach the meatballs
With damp hands or a small scoop, form 1.5-inch balls (about 1.25 oz/35 g each). Slide them into the simmering broth without crowding. Poach until they float and reach 160°F in the center, 8–10 minutes. Keep the broth at a gentle simmer for clarity.
Step 7: Cook noodles and assemble
Cook rice vermicelli in boiling water according to package directions (typically 3–5 minutes). Drain and rinse briefly under hot water to remove excess starch. Divide noodles among 4 warmed bowls. Add 4–5 meatballs per bowl and ladle over 2 cups hot broth. Top with scallions, cilantro, fried shallots, and a few grinds of pepper. Serve with lime wedges and sliced chiles; finish each bowl with a squeeze of lime to brighten.
Pro Tips
- Clarity is king: parboil and rinse bones, then maintain a bare simmer—never a rolling boil.
- For springy meatballs, keep ingredients cold and beat the mixture until it turns sticky before chilling.
- Charred onion and ginger deepen flavor and aroma without clouding the broth.
- Season at the end: fish sauce aromas are best added after straining so they stay fresh and bright.
- Cook noodles separately and rinse lightly so the broth stays clear and silky.
Variations
- Classic add-in: thin slices of Vietnamese pork sausage (chả lụa) warmed in the broth.
- Lighter broth: swap half the pork bones for chicken backs and simmer 60 minutes.
- Mushroom-forward: double the dried shiitake and add enoki at serving for extra earthiness.
Storage & Make-Ahead
Broth can be made 3 days ahead; chill and store separately from noodles and garnishes. It also freezes well for up to 2 months. Meatball mixture can be shaped and refrigerated up to 24 hours, or frozen raw for 2 months (cook from thawed). Poached meatballs keep 3 days refrigerated in broth. Cook noodles just before serving, or cook up to 1 day ahead and toss lightly with oil to prevent sticking.
Nutrition (per serving)
Approximate: 620 calories; 24 g fat; 69 g carbohydrates; 28 g protein; 3 g fiber; 1450 mg sodium. Values will vary based on noodle brand and seasoning adjustments.
