clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon
Crispy bottom Shanghai pan-fried pork buns are crunchy on the bottom and fluffy and airy inside with a juicy and flavourful pork and spring onions filling. |

Crispy Bottom Shanghai Pan-Fried Pork Buns

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

5 from 1 review

  • Author: Sam | Ahead of Thyme
  • Total Time: 2 hours
  • Yield: 15 buns


Crispy bottom Shanghai pan-fried pork buns are crunchy on the bottom and fluffy and airy inside with a juicy and flavourful pork and spring onions filling.


For the filling:

  • 200 grams ground pork
  • 1/4 cup spring onions, finely chopped
  • 1 tablespoon fresh ginger, grated
  • 2 tablespoons soy sauce
  • 1 teaspoon sesame oil
  • 1 teaspoon Shaoxing cooking wine
  • 1 teaspoon sugar
  • 1 teaspoon white pepper
  • 1 teaspoon black pepper (optional)

For the bun dough:

  • 250 g all-purpose flour (2 cups)
  • 3 grams instant yeast (1 teaspoon)
  • 4 grams sugar (1 teaspoon)
  • 4 grams baking powder (1 teaspoon)
  • 150 grams water (150 ml)

For pan frying the buns:

  • 1 tablespoon vegetable oil
  • 1 cup cold water
  • 1 teaspoon black sesame seeds (for garnish)
  • 1 teaspoon spring onions, finely chopped (for garnish)

For the vinegar dipping sauce:

  • 2 tablespoons black vinegar
  • 1/2 tablespoon soy sauce
  • 1 teaspoon sesame oil
  • 1 tablespoon green onions, finely chopped


Prepare the Filling:

  1. In a large mixing bowl, add in all the filing ingredients (ground pork, spring onions, ginger, soy sauce, sesame oil, cooking wine, sugar, white pepper, and black pepper (optional). Use a spatula to mix well and evenly, blending the ingredients together to allow the flavours to infuse into the ground meat. Cover the bowl with cling wrap and refrigerate for at least one hour until the dough is ready for assembling.

Prepare the Bun Dough:

  1. In a large bowl, whisk together flour, yeast, sugar, baking powder, salt and water. Mix well to combine with a spatula, until the mixture forms into a dough. Make sure to scrape off any remaining dry flour on the sides of the bowl.
  2. Knead the dough with your hands (or stand mixer) until the dough becomes smooth and soft, about 10 minutes. This is a 60% hydration dough (water to flour ratio) and it should be fairly easy to handle.
  3. Form the dough into a ball and place it back into the bowl. Cover the bowl with a chopping board or cling wrap. Let the dough sit at room temperature for one hour, or until it rises and doubles in size.
  4. Once risen, knead the dough for a few minutes to get rid of any air bubbles.
  5. Transfer dough onto a floured surface and roll into a log. Divide the log into 15 even pieces and roll into balls by cupping them into your palm and making circular motions. Flatten and roll each dough ball out into a 3-inch circle with a small rolling pin. Note that the centre should be slightly thicker than the edges.

Assemble and Fold the Buns:

  1. Add a tablespoon filling into the centre of the rolled out dough.
  2. Bring the edges of the dough up, enclosing the filling inside.
  3. Seal the filling inside by pleating the edges together with your finger.
  4. Turn the buns over with the pleated side down (the top side should be smooth) and place on a parchment-lined tray or plate. Cover with a tea towel and let them rest for another 20 minutes to allow the dough to rise a bit more (not double in size).

Pan-fry the Buns:

  1. In a large skillet, heat oil over medium high heat for 2 minutes. Place buns with the pleated side facing down. Make sure to place buns approximately 1/2 inch apart to prevent them from sticking together. (You may have to cook in 2 batches if your skillet is not large enough). Cook for 2 minutes until the bottom turns golden brown and crispy.
  2. Add 1 cup of cold water into the pan. The water should start sizzling and bubbling immediately. Make sure the water is about 1/2-inch deep and covers about half of the buns’ height. Cover with the lid and continue to cook for 8-10 minutes until almost all the water is evaporated.
  3. Remove the lid and lower the heat to medium. Cook for another 2 minutes until all water has been absorbed and the bottom is crispy brown. Sprinkle sesame seeds and green onions on top.
  4. Transfer the buns onto a plate and repeat the same method with the second batch.
  5. Serve hot with a side of vinegar dipping sauce.

Make the Vinegar Dipping Sauce:

  1. In a small bowl, combine vinegar, soy sauce, sesame oil and green onions. Stir to combine.


Equipment used: measuring cups and spoons, mixing bowls, a small rolling pin, and a non-stick skillet with cover.

Customize the filling. There are endless ways that you can customize the filling. You can use different protein such as ground beef or chicken, and other types of vegetables such as beans sprouts or chives.

How to use dry active yeast instead of instant yeast: You will just need to adjust the first bun dough step slightly. Rather than mixing together all the dough ingredients, first combine the active yeast with the water. Let it sit for 5-10 minutes to activate it (it should get bubbly and frothy). Then, combine the rest of the dough ingredients in a large bowl and pour in the yeast mixture to combine. Continue on with the recipe as instructed.

How to store: You can store them in an airtight container for up to 3 days in the refrigerator. You can reheat in the oven or in the air fryer.

How to freeze: Place uncooked buns in a single later on a parchment-lined baking tray and place in the freezer for one hour. Once they are relatively frozen, transfer to an airtight container or freezer bag. This method prevents them from sticking together initially.

  • Prep Time: 30 minutes (+1 hour 20 minutes rise time)
  • Cook Time: 12 minutes
  • Category: Dim Sum
  • Method: Pan Fry
  • Cuisine: Chinese