Sheng Jian Bao (Shanghai Pan-Fried Pork Buns)
生煎包 · shēng jiān bāo
Makes 16 buns · Prep: 3 hours 30 minutes (includes resting) · Cook: 20 minutes · Total: 3 hours 50 minutes

Sheng jian bao give you three textures in one bun: a tender, lightly leavened wrapper, a crisp pan-fried bottom, and juicy pork filling with hot broth tucked inside. To make that soup center, this version sets seasoned stock with gelatin until firm, then dices the broth gel and folds it into the cold pork. The gel melts back into broth as the buns cook. It saves you from simmering pork skin for hours, while keeping the dough and filling manageable at home.
Ingredients
Broth gel (soup aspic)
- ½ cup low-sodium chicken or pork stock
- 1½ teaspoons unflavored powdered gelatin
- 2 thin slices fresh ginger
- 1 scallion, cut into 2-inch pieces
Pork filling
- 10½ ounces ground pork (about 300 grams), preferably 80% lean
- 1 tablespoon Shaoxing wine
- 2 teaspoons light soy sauce
- 1 teaspoon granulated sugar
- ½ teaspoon kosher salt
- 1 teaspoon toasted sesame oil
- ¼ teaspoon ground white pepper
- 2 teaspoons finely grated fresh ginger
- 3 tablespoons finely chopped scallions
- All of the chilled broth gel, finely diced
Dough
- 2 cups all-purpose flour (250 grams)
- ⅔ teaspoon instant yeast (about 2 grams)
- 1 teaspoon granulated sugar
- ¼ teaspoon fine salt
- ⅔ cup warm water (150 grams)
- 1 teaspoon neutral oil
For pan-frying
- 2 tablespoons neutral oil, divided
- About ⅔ cup water, divided
- 2 scallions, thinly sliced
- 2 teaspoons black or white sesame seeds
For serving
- Shanghai rice vinegar or Chinkiang black vinegar
- Finely shredded fresh ginger, optional
Instructions
- 1
Make the broth gel
The broth gel, traditionally called soup aspic, lets you mix stock into the filling without making the raw pork wet. Pour 2 tablespoons of the cold stock into a small bowl, sprinkle the gelatin evenly over it, and leave it for 5 minutes. Bring the remaining stock, ginger, and scallion just to a simmer in a small saucepan, then remove it from the heat and steep for 10 minutes. Remove the aromatics and stir in the softened gelatin until completely dissolved; do not boil it. Pour into a small shallow container and refrigerate for at least 2 hours, until firm. Cut the gel into cubes no larger than ¼ inch and keep them cold. The cubes will melt back into broth when the buns cook.
- 2
Make the pork filling
Combine the pork, Shaoxing wine, soy sauce, sugar, salt, sesame oil, white pepper, ginger, and scallions in a medium bowl. Stir vigorously in one direction for 2 to 3 minutes, until the pork looks sticky and clings to the bowl. Gently fold in the diced broth gel, cover, and refrigerate for at least 30 minutes.
- 3
Make and rest the dough
Combine the flour, yeast, sugar, and salt in a large bowl. Add the warm water and mix until no loose flour remains, then add the oil and knead for 8 to 10 minutes, until smooth and pliable. The dough should feel soft but not sticky. Knead in a little flour if it clings heavily, or add water 1 teaspoon at a time if it cracks. Cover and rest in a warm place for 25 to 35 minutes, until slightly puffed but not doubled.
- 4
Divide the dough
Press the dough gently to remove large air pockets. Divide it into 16 equal pieces, about 25 grams each, and shape them into balls. Keep the dough covered while you work so it does not dry out.
- 5
Roll the wrappers
Flatten one dough ball and roll it into a circle about 3½ inches wide, leaving the center slightly thicker than the edge. Use only a light dusting of flour so the pleats will seal.
- 6
Fill and shape the buns
Place about 1 packed tablespoon of cold filling in the center of a wrapper. Lift one section of the edge and make small pleats, turning the bun as you work. Gather the pleats at the top and pinch them together firmly. Set the bun pleat-side up on a lightly floured tray and keep it covered. Repeat, then rest the shaped buns for 5 to 10 minutes while you prepare the skillet. Do not give them a long second rise.
- 7
Brown the bottoms
Cook the buns in two batches. Add 1 tablespoon neutral oil to a 10-inch nonstick or well-seasoned skillet and arrange eight buns pleat-side up with a little room between them. Place the skillet over medium heat and cook for 2 to 3 minutes, until the bottoms are pale golden.
- 8
Steam the buns
Carefully pour about ⅓ cup water around the buns, keeping your hand and face away from any sputtering oil. Cover immediately, reduce the heat to medium-low, and steam for 7 to 8 minutes. Leave the lid closed for at least the first 6 minutes.
- 9
Crisp and finish
Remove the lid. Sprinkle the buns with half of the sliced scallions and sesame seeds, then cook uncovered for 2 to 4 minutes, until the water is gone and the bottoms are crisp and deep golden. Tilt the pan so the oil reaches each bun, adding another teaspoon of oil if the pan dries out too soon. Check that the pork reaches 160°F in the center, transfer the buns to a plate, and repeat with the remaining oil, buns, water, scallions, and sesame seeds.
- 10
Serve carefully
Rest the buns for about 2 minutes. Serve with Shanghai rice vinegar or Chinkiang vinegar, adding shredded ginger if you like. Take a small bite from the side first and let the steam escape before eating the rest; the broth stays very hot.
Recipe notes
Filling & shaping tips
- Keep the filling cold. If the broth gel begins to look loose or glossy, refrigerate the filling for 15 minutes before shaping more buns.
- A packed tablespoon of filling is enough. Overfilled buns are harder to close and more likely to leak.
- Ground pork with about 20% fat gives the filling a softer, juicier texture than very lean pork.
- Stir the seasoned pork until it becomes cohesive and slightly elastic before folding in the broth gel.
- Pinch the gathered dough until no opening remains. Pretty pleats are optional; a complete seal is not.
- Brown the bottoms gradually. Reduce the heat if they smell toasted before the covered steaming time is finished.
Without the broth gel
- You can skip the gelatin-set broth, but the buns will be juicy rather than soup-filled. Gradually stir ¼ cup cold chicken or pork stock into the seasoned pork, 1 tablespoon at a time. Let each addition absorb before adding the next, then refrigerate the filling for at least 1 hour before shaping.
Make ahead, storage & reheating
- Make the broth gel up to 3 days ahead. The pork filling can be mixed 1 day ahead and refrigerated in a covered container.
- Raw yeast buns are best shaped and cooked the same day; freezing can make their rise less predictable and change the wrapper texture.
- Refrigerate cooked sheng jian bao for up to 3 days. Reheat them in a lightly oiled skillet with 1 tablespoon water, covered over medium-low heat for 3 to 4 minutes. Remove the lid and cook another 1 to 2 minutes to crisp the bottoms.
Sheng jian bao vs. xiao long bao
- Both can contain pork and broth, but xiao long bao have thin, unleavened wrappers and are steamed in baskets. Sheng jian bao use lightly leavened dough and cook in a covered skillet, giving them soft tops and crisp fried bottoms.
Food safety
- Cook the pork filling to 160°F in the center. The broth inside can remain extremely hot after the wrapper feels cool enough to touch, so vent each bun with a small first bite.
Frequently Asked Questions
Why did the soup leak out?
The wrapper may not have been completely sealed, its center may have been rolled too thin, or the filling may have warmed before shaping.
Why are the buns too fluffy?
The dough probably rose too long. It should puff only slightly during the first rest and needs just 5 to 10 minutes after shaping.
Why is the filling dry?
Use pork with about 20% fat, stir it until sticky before adding the broth gel, and avoid cooking the buns beyond 160°F in the center.
Why did the bottoms burn?
The skillet was too hot or the water went in too late. Use medium heat and begin steaming as soon as the bottoms turn pale golden.
Why is there no broth inside?
The broth gel may have melted before shaping, escaped through a loose seam, or leaked through a thin spot in the wrapper.
More recipes to try
Save this recipe, and any recipe from anywhere, in Shio.
Get Shio

