Quick Recipe Version (TL;DR)
Quick Ingredients
- 3 1/2 cups (420 g) bleached all-purpose flour
- 1/4 cup (32 g) cornstarch
- 2 1/4 tsp (7 g) instant yeast
- 2 tsp (8 g) baking powder
- 1/3 cup (65 g) sugar, 1/2 tsp salt
- 1 cup (240 ml) warm milk + 1/4 cup (60 ml) warm water (105–110°F)
- 2 tbsp neutral oil, 1 tsp rice vinegar
- 1 lb (454 g) ground pork
- 1/2 oz (15 g) dried wood ear mushrooms, rehydrated and chopped
- 12 quail eggs, hard-boiled and peeled
- 1/2 small onion (about 1/3 cup), 2 scallions, 4 garlic cloves
- 1 tbsp each soy sauce, fish sauce, oyster sauce; 2 tsp sugar; 1 tsp white pepper; 1 tsp sesame oil; 1 tbsp cornstarch
- 12 parchment squares (3-inch), water for steamer
Do This
- 1. Soak wood ear in very warm water 20 minutes; boil quail eggs 3 minutes, ice-bath, peel. Cut 12 parchment squares.
- 2. Mix dough: whisk warm milk, water, sugar, yeast, oil, vinegar. Combine flour, cornstarch, baking powder, salt; add liquids. Knead 8–10 minutes. Rise 60–75 minutes.
- 3. Make filling: mix pork, chopped wood ear, onion, scallions, garlic, soy, fish and oyster sauces, sugar, white pepper, sesame oil, cornstarch. Chill 15 minutes.
- 4. Divide dough into 12 (about 65–70 g). Rest 10 minutes. Roll into 4.5-inch rounds (thicker centers).
- 5. Fill each with 2 tbsp (30–35 g) pork and 1 quail egg. Pleat and twist to seal.
- 6. Proof 20–30 minutes until puffy. Steam over a steady simmer 15 minutes; rest 2 minutes with lid slightly ajar. Repeat for second batch.
Why You’ll Love This Recipe
- Cloud-soft, lightly sweet buns wrapped around a peppery, garlicky pork filling with springy wood ear and a tender quail egg surprise.
- Easy dough that steams up snowy white and fluffy thanks to a yeast-and-baking-powder combo.
- Great for meal prep: freeze raw or cooked and steam straight from the freezer.
- Clear, step-by-step instructions with exact times and temperatures so your buns won’t wrinkle or collapse.
Grocery List
- Produce: 4 garlic cloves, 1/2 small yellow onion, 2 scallions, 1/2 oz dried wood ear mushrooms
- Dairy: Whole milk (1 cup), quail eggs (12)
- Pantry: Bleached all-purpose flour, cornstarch, instant yeast, baking powder, sugar, salt, neutral oil, rice vinegar, soy sauce, fish sauce, oyster sauce, white pepper, sesame oil, parchment paper
Full Ingredients
Sweet Bao Dough
- 3 1/2 cups (420 g) bleached all-purpose flour
- 1/4 cup (32 g) cornstarch
- 2 1/4 tsp (7 g) instant yeast
- 2 tsp (8 g) baking powder
- 1/3 cup (65 g) granulated sugar
- 1/2 tsp fine salt
- 1 cup (240 ml) whole milk, warmed to 105–110°F
- 1/4 cup (60 ml) warm water, 105–110°F
- 2 tbsp (28 g) neutral oil (canola or grapeseed)
- 1 tsp (5 ml) rice vinegar
Savory Pork Filling
- 1 lb (454 g) ground pork (80–85% lean)
- 1/2 oz (15 g) dried wood ear mushrooms, soaked, drained, finely chopped (about 1 cup chopped)
- 12 quail eggs, hard-boiled (3 minutes), shocked, peeled
- 1/2 small yellow onion, very finely minced (about 1/3 cup)
- 2 scallions, thinly sliced
- 4 garlic cloves, minced
- 1 tbsp (15 ml) soy sauce
- 1 tbsp (15 ml) fish sauce
- 1 tbsp (15 ml) oyster sauce
- 2 tsp (8 g) sugar
- 1 tsp ground white pepper
- 1/4 tsp freshly ground black pepper (optional, for extra bite)
- 1 tsp (5 ml) toasted sesame oil
- 1 tbsp (8 g) cornstarch
For Steaming & Serving
- 12 parchment squares, about 3-inch
- Neutral oil for greasing bowl
- Water for the steamer
- Chili-garlic sauce or hoisin-sriracha (optional, for serving)

Step-by-Step Instructions
Step 1: Hydrate mushrooms and cook quail eggs
Cover the dried wood ear mushrooms with very warm water and soak for 20 minutes until plump. Rinse, squeeze dry, and finely chop. Bring a small saucepan of water to a rolling boil. Gently lower in the quail eggs and boil for 3 minutes. Transfer immediately to an ice bath for 5 minutes, then peel. Cut 12 parchment squares (about 3 inches) and set aside.
Step 2: Mix the sweet bao dough
In a large mixing bowl, whisk warm milk, warm water (both 105–110°F), sugar, instant yeast, neutral oil, and rice vinegar until dissolved. In another bowl, combine flour, cornstarch, baking powder, and salt. Add the wet mixture to the dry and stir with a spatula until a shaggy dough forms and no dry flour remains.
Step 3: Knead and let the dough rise
Turn the dough onto a lightly floured surface and knead until very smooth, elastic, and slightly tacky, 8–10 minutes (or 6 minutes on medium speed with a dough hook). If the dough feels dry, drip in 1–2 teaspoons warm water; if sticky, dust in 1–2 teaspoons flour. Shape into a ball and place in a lightly oiled bowl. Cover and let rise in a warm spot (75–82°F) until doubled, 60–75 minutes.
Step 4: Make the peppery pork filling
In a medium bowl, combine ground pork, chopped wood ear, minced onion, scallions, and garlic. Add soy sauce, fish sauce, oyster sauce, sugar, white pepper, black pepper (optional), sesame oil, and cornstarch. Mix vigorously with a spoon or your hand until the mixture looks sticky and cohesive, about 1–2 minutes. Chill for 15 minutes to firm slightly.
Step 5: Portion, fill, and pleat
Punch down the dough and divide into 12 equal pieces (about 65–70 g each). Roll each into a ball, cover, and rest 10 minutes. Working one at a time, roll a ball into a 4.5-inch round, keeping the center slightly thicker than the edges. Add 2 tablespoons (30–35 g) pork filling and nestle 1 peeled quail egg in the center. Pleat the edges (10–12 pleats), then twist to seal so the swirl sits on top. Set each bun on a parchment square, swirl side up.
Step 6: Proof the buns
Cover loosely and proof at room temperature until slightly puffy and lighter, 20–30 minutes. They should increase by about 50%, not double. Meanwhile, prepare your steamer: add 2 inches of water and bring to a steady simmer. Wrap the steamer lid in a clean kitchen towel to prevent condensation from dripping on the buns.
Step 7: Steam to fluffy perfection
Arrange buns in the steamer basket, spaced 1 inch apart. Steam over a strong simmer (not a full rolling boil) for 15 minutes, undisturbed. Turn off the heat, crack the lid 1 inch, and rest 2 minutes to prevent wrinkling. Lift out the basket, uncover, and let buns set for 3–5 minutes before serving. Repeat with remaining buns, replenishing water as needed. The pork should reach 165°F internally.
Pro Tips
- Use bleached all-purpose flour and a little cornstarch for extra-white, cloud-soft buns; the rice vinegar also helps keep the crumb snowy.
- Keep the dough center thicker than the edges so the top doesn’t tear when the filling expands.
- Steam over a strong simmer, not a rolling boil. Too vigorous a boil can cause bumpy, yellowed, or collapsed buns.
- Wrap the steamer lid with a towel to stop condensation from dripping and mottling the surface.
- Scale your dough and filling portions for consistent sizes and even cooking.
Variations
- Chicken Banh Bao: Swap ground pork for ground chicken or turkey. Add 1 teaspoon freshly grated ginger for brightness.
- Vegetarian: Use finely crumbled firm tofu or a mix of shiitake and king oyster mushrooms. Season with soy, a dash of vegetarian oyster sauce, white pepper, and cornstarch.
- Lạp Xưởng Add-In: Slip a thin slice of Chinese sausage into each bun along with the quail egg for a sweet-savory pop.
Storage & Make-Ahead
Refrigerate cooked buns in an airtight container for up to 3 days. Reheat by steaming 5–7 minutes or microwaving 30–45 seconds with a damp paper towel. To freeze cooked buns, cool completely, then freeze in a single layer before transferring to a bag; steam from frozen 8–10 minutes. To freeze unsteamed buns, place on a tray until solid, then bag. Steam from frozen 18–20 minutes, checking that the filling reaches 165°F. Buns hold best if shaped in advance and steamed the day you plan to serve.
Nutrition (per serving)
Approximate per bun: 280 calories; 10 g fat; 35 g carbohydrates; 12 g protein; 2 g fiber; 6 g sugar; 540 mg sodium.
