I’m obsessed with these homemade savory xiaolongbao—they’re even better than the ones from my favorite dim sum spot!
As a parent, I love that they’re kid-approved, juicy, and packed with real flavor, no artificial additives.
The hot water dough makes the wrappers impossibly fluffy and tender, while the mix of cooked and raw pork filling stays juicy, not dry.
Each bite bursts with rich soy glaze and fresh scallion aroma, and they’re so easy to throw together—even if you’ve never made buns from scratch.
Pair them with a bowl of warm millet congee for breakfast, and it’s the coziest way to start the day. Let’s get baking (or steaming, rather)!
Contents
Ingredients
For the Dough
- 500g all-purpose flour
- 300g boiling water
- 1 tbsp lard (optional, adds softness and aroma to the wrapper)
- 1 tbsp granulated sugar (aids yeast fermentation)
- 5g high-sugar-tolerant yeast (ideal for sweetened dough, ensures stable rising)
- 30-50ml warm water (around 30℃, for dissolving yeast; adjust based on flour moisture)
For the Filling
- 500g ground pork (3:7 fat-to-lean ratio for juiciest results)
- 80g chopped scallions (added right before wrapping for fresh aroma)
- Spice sachet (1 star anise, 1 small piece cinnamon, 2 bay leaves)
- 2 spring onions, whole
- 5 slices ginger
- 1 small bunch cilantro
- 30ml cooking oil
- 5g salt
- 2 tbsp light soy sauce
- 1 tbsp dark soy sauce (for color)
- 1 tbsp oyster sauce
- 1 tsp white pepper
- 1 tbsp dry pot sauce (key flavor booster; substitute with yellow soybean paste + a pinch of Pixian doubanjiang if unavailable)
- 1 tsp chicken powder (enhances umami)

Instructions
1. Make the Hot Water Dough
- Add 500g all-purpose flour to a large bowl. Pour in 300g boiling water while stirring rapidly with chopsticks to form flaky crumbs (boiling water gelatinizes part of the flour, creating a soft wrapper).
- Stir in 1 tbsp lard and 1 tbsp granulated sugar until well combined.
- Dissolve 5g high-sugar-tolerant yeast in 30-50ml warm water (around 30℃), stirring until fully dissolved. Pour the yeast mixture into the flour.
- Knead by hand until a smooth dough forms. Cover with a lid or plastic wrap and let it rise in a warm place until doubled in size (the risen dough will have a honeycomb texture inside; a finger poke will leave an indent that doesn’t shrink or collapse).
2. Prepare the Savory Soy Glazed Filling
- Heat 30ml cooking oil in a pan over medium heat. Add the spice sachet, whole spring onions, ginger slices, and cilantro. Sauté on low heat until fragrant, then remove all spice residues (reserve the flavored oil to avoid hard bits in the filling).
- Turn up the heat to medium, add half the ground pork (250g), and stir-fry quickly until the meat changes color and is partially cooked. Add salt, light soy sauce, dark soy sauce, oyster sauce, white pepper, dry pot sauce, and chicken powder. Stir-fry for another 2 minutes to let the meat absorb the seasonings, then turn off the heat and let cool completely.
- Once the cooked pork is at room temperature, add the remaining 250g raw ground pork. Stir vigorously in one direction for 5 minutes until the mixture becomes thick and sticky. Let it marinate for 20 minutes to deepen the flavor.
3. Punch Down Dough & Prep for Wrapping
- Transfer the risen dough to a floured work surface. Knead for about 10 minutes to release air bubbles (thorough air release ensures smooth, even wrappers without large holes).
- Roll the dough into a long log and cut it into uniform small portions, each about 20-25g (perfect size for bite-sized xiaolongbao).
- No need to roll with a rolling pin—flatten each portion with the palm of your hand into a round wrapper, slightly thicker in the center and thinner at the edges (about 2mm thick, prevents filling from leaking).
4. Wrap the Xiaolongbao
- Place one flattened wrapper in the palm of your hand. Spoon about 20g of the filling onto the center, then sprinkle with a pinch of chopped scallions (divide the 80g scallions evenly among all buns).
- Pinch the edge of the wrapper with your fingers and pleat it in one direction, sealing tightly at the top (no need for perfect pleats—just ensure the filling is fully enclosed).
- Arrange the wrapped xiaolongbao in a steamer lined with oiled parchment paper (prevents sticking), leaving space between each bun to avoid merging during the second rise.
5. Second Rise & Steam to Perfection
- Cover the steamer with a lid and let the buns rise for a second time for 15 minutes (the risen buns will be plump and spring back quickly when gently pressed).
- Fill a pot with enough water and bring it to a rolling boil. Place the steamer over the pot, reduce heat to medium, and steam for 10 minutes (time starts when the water boils).
- Turn off the heat and let the buns rest for 2 minutes with the lid on (prevents wrapper collapse from sudden temperature changes, keeping them fluffy).

Pro Tips
- When making the hot water dough, pour boiling water all at once and stir quickly—this ensures the flour is properly gelatinized for a soft wrapper. Adjust with a little more warm water if the dough is too dry, or a pinch more flour if too sticky.
- The “half-cooked, half-raw” pork filling is key: cooked pork infuses the filling with deep flavor, while raw pork keeps it juicy. Dry pot sauce is irreplaceable for authentic taste, but yellow soybean paste + a dash of Pixian doubanjiang works in a pinch.
- Use high-sugar-tolerant yeast—regular yeast struggles with the dough’s sugar content. Never use water hotter than 35℃ to dissolve yeast (it will kill the yeast, causing failed rising).
- Adjust the second rise time based on room temperature: 10 minutes for warm rooms (25℃+), 20 minutes for cooler rooms. The buns are ready when they’re puffy and springy.
- Add scallions right before wrapping to avoid sogginess from excess moisture—80g ensures every bite has a fresh, fragrant kick.
- Don’t over-steam! 10 minutes is enough for fully cooked buns. Over-steaming makes the wrapper mushy. Serve hot for the best texture—reheat leftover buns in a steamer for 3 minutes to regain fluffiness.

Frequently Asked Questions (FAQs)
Can I skip the lard in the dough? Yes! Lard adds softness and a subtle richness, but you can omit it for a lighter version. The wrapper will still be fluffy—just maybe slightly less tender. You can also substitute it with 1 tbsp vegetable oil, but lard works best for that classic xiaolongbao texture.
My dough didn’t rise—what went wrong? Most likely, the yeast was expired, or the water used to dissolve it was too hot (over 35℃) or too cold (under 25℃). Double-check the yeast’s expiration date, and use water that feels warm to the touch (not scalding). If the room is cold, place the dough in a warm oven (turned off, with a bowl of hot water inside) to help it rise.
Can I make the filling ahead of time? Absolutely! I often prep the filling the night before. Store it in an airtight container in the fridge for up to 2 days. Let it come to room temperature for 30 minutes before wrapping—this makes the filling easier to work with and helps the buns rise evenly.
What if I don’t have dry pot sauce? Dry pot sauce is the secret to that savory, umami flavor, but if you can’t find it, mix 1 tbsp yellow soybean paste with a tiny pinch of Pixian doubanjiang (for depth) and 1 tsp sugar (to balance saltiness). It’s not identical, but it’s a great substitute.
Can I freeze the uncooked xiaolongbao? Yes! After wrapping and the second rise, place the buns on a baking tray lined with parchment paper, making sure they don’t touch. Freeze until solid (about 2 hours), then transfer to a freezer bag. They’ll keep for up to 1 month. Steam directly from frozen—add 2-3 minutes to the steaming time (12-13 minutes total).
Why are my xiaolongbao wrappers sticky or leaking? Sticky wrappers usually mean the dough was too wet, or you didn’t flour the work surface enough. If the filling is leaking, the wrapper might be too thin (especially at the edges) or the tie wasn’t pinched tightly. When flattening the dough, make sure the center is slightly thicker than the edges—this holds the filling in place.
Can I use ground chicken or beef instead of pork? Definitely! Ground chicken works well (keep the 3:7 fat ratio by adding a little chicken fat), but it will be slightly less juicy. Ground beef adds a richer flavor—just reduce the soy sauce by 1 tbsp to avoid overpowering the meat.

Homemade Savory Soy Glazed Xiaolongbao (Steamed Buns) – Fluffy & Juicy!
Ingredients
For the Dough
- 500 g all-purpose flour
- 300 g boiling water
- 1 tbsp lard optional, adds softness and aroma to the wrapper
- 1 tbsp granulated sugar aids yeast fermentation
- 5 g high-sugar-tolerant yeast ideal for sweetened dough, ensures stable rising
- 30-50 ml warm water around 30℃, for dissolving yeast; adjust based on flour moisture
For the Filling
- 500 g ground pork 3:7 fat-to-lean ratio for juiciest results
- 80 g chopped scallions added right before wrapping for fresh aroma
- Spice sachet 1 star anise, 1 small piece cinnamon, 2 bay leaves
- 2 spring onions whole
- 5 slices ginger
- 1 small bunch cilantro
- 30 ml cooking oil
- 5 g salt
- 2 tbsp light soy sauce
- 1 tbsp dark soy sauce for color
- 1 tbsp oyster sauce
- 1 tsp white pepper
- 1 tbsp dry pot sauce key flavor booster; substitute with yellow soybean paste + a pinch of Pixian doubanjiang if unavailable
- 1 tsp chicken powder enhances umami
Instructions
Make the Hot Water Dough
- Add 500g all-purpose flour to a large bowl. Pour in 300g boiling water while stirring rapidly with chopsticks to form flaky crumbs (boiling water gelatinizes part of the flour, creating a soft wrapper).
- Stir in 1 tbsp lard and 1 tbsp granulated sugar until well combined.
- Dissolve 5g high-sugar-tolerant yeast in 30-50ml warm water (around 30℃), stirring until fully dissolved. Pour the yeast mixture into the flour.
- Knead by hand until a smooth dough forms. Cover with a lid or plastic wrap and let it rise in a warm place until doubled in size (the risen dough will have a honeycomb texture inside; a finger poke will leave an indent that doesn’t shrink or collapse).
Prepare the Savory Soy Glazed Filling
- Heat 30ml cooking oil in a pan over medium heat. Add the spice sachet, whole spring onions, ginger slices, and cilantro. Sauté on low heat until fragrant, then remove all spice residues (reserve the flavored oil to avoid hard bits in the filling).
- Turn up the heat to medium, add half the ground pork (250g), and stir-fry quickly until the meat changes color and is partially cooked. Add salt, light soy sauce, dark soy sauce, oyster sauce, white pepper, dry pot sauce, and chicken powder. Stir-fry for another 2 minutes to let the meat absorb the seasonings, then turn off the heat and let cool completely.
- Once the cooked pork is at room temperature, add the remaining 250g raw ground pork. Stir vigorously in one direction for 5 minutes until the mixture becomes thick and sticky. Let it marinate for 20 minutes to deepen the flavor.
Punch Down Dough & Prep for Wrapping
- Transfer the risen dough to a floured work surface. Knead for about 10 minutes to release air bubbles (thorough air release ensures smooth, even wrappers without large holes).
- Roll the dough into a long log and cut it into uniform small portions, each about 20-25g (perfect size for bite-sized xiaolongbao).
- No need to roll with a rolling pin—flatten each portion with the palm of your hand into a round wrapper, slightly thicker in the center and thinner at the edges (about 2mm thick, prevents filling from leaking).
Wrap the Xiaolongbao
- Place one flattened wrapper in the palm of your hand. Spoon about 20g of the filling onto the center, then sprinkle with a pinch of chopped scallions (divide the 80g scallions evenly among all buns).
- Pinch the edge of the wrapper with your fingers and pleat it in one direction, sealing tightly at the top (no need for perfect pleats—just ensure the filling is fully enclosed).
- Arrange the wrapped xiaolongbao in a steamer lined with oiled parchment paper (prevents sticking), leaving space between each bun to avoid merging during the second rise.
Second Rise & Steam to Perfection
- Cover the steamer with a lid and let the buns rise for a second time for 15 minutes (the risen buns will be plump and spring back quickly when gently pressed).
- Fill a pot with enough water and bring it to a rolling boil. Place the steamer over the pot, reduce heat to medium, and steam for 10 minutes (time starts when the water boils).
- Turn off the heat and let the buns rest for 2 minutes with the lid on (prevents wrapper collapse from sudden temperature changes, keeping them fluffy).