Go Back
+ servings
Bring authentic dim sum to your home with baked BBQ pork buns just like your favorite Chinese restaurant!

Baked BBQ Pork Buns (Char Siu Bao)

5 from 15 votes
Bring authentic dim sum to your home with baked BBQ pork buns just like your favorite Chinese restaurant! If possible, always weigh the ingredients instead of measuring them by volume (cups). Volume is never accurate and using it will affect the texture of the end result.
Prep Time: 20 mins
Cook Time: 12 mins
Resting time: 1 hr 30 mins
Total Time: 2 hrs 2 mins
Course: Bakery
Cuisine: Chinese
Keyword: Dim Sim
Servings: 12 buns
Author: Maggie Zhu



  • 250 ml (1 cup + 2 teaspoons) milk , warm (~110°F) (plus 1 tablespoon to wash the buns)
  • 7 g (1 packet, 2 1/4 teaspoons) active dry yeast
  • 40 g (3 tablespoons) sugar
  • 5 g (1 teaspoon) salt
  • 400 g (3 cups) bread flour
  • 60 g (3 tablespoons) butter , melted & cooled
  • 1 egg


  • 4 tablespoons chicken stock
  • 2 tablespoons hoisin sauce
  • 1 tablespoon oyster sauce
  • 1 tablespoon sugar
  • 1 tablespoon Shaoxing wine (or dry sherry)
  • 1 clove garlic , grated
  • 1/8 teaspoon five spice powder
  • 2 tablespoons cornstarch
  • 1 heaping cup (180 g / 6.5 oz) homemade char siu , diced (or store-bought char siu)


  • Sesame seeds (optional)


Make the dough

  • Pour the milk into a small bowl and warm it to approximately 100 to 110°F (38°C), about 30 seconds in the microwave. The milk should be warm, just a bit above body temperature.
  • Add the yeast and a pinch of the sugar to the warm milk. Let the yeast activate for 5 to 10 minutes, until the mixture is bubbling and frothy.
  • Add the remaining dough ingredients into your stand mixer bowl. Pour the activated yeast and milk over everything. Stir a few times with a spatula to make a rough dough. Knead with the hook attachment on setting 6 for 15 to 17 minutes, until the dough is smooth and stretchable. Test the dough by pulling a piece of it using both hands. It should stretch into a very thin and translucent sheet. (This dough can be kneaded by hand, but it is a wet dough, so having a dough scraper for the process will be very helpful. Knead it for 20 to 30 minutes in this case.)
  • While kneading the dough, grease the inside of a large bowl with a thin layer of butter or oil.
  • Pull the dough into a tight ball using your hands and place it into the greased bowl. Flip the dough ball a couple of times so that it is fully coated in the butter. Cover with plastic wrap. Let it proof until the size has doubled, about 1 hour in the winter, or 30 to 45 minutes in summer. (*Footnote 1)

Make the filling

  • While the dough is resting, combine all the filling ingredients in a small pot except for the diced char siu. Mix until the cornstarch is dissolved fully.
  • Bring the mixture to a boil and cook until thickened, so you can draw a line on the bottom of the pot with a spatula, about 1 minute. Take the pot off the heat and let the mixture cool off. Once cooled, add the diced char siu and mix until it is evenly distributed.

Shape the buns

  • Once the dough has doubled, punch it down using your hand and form it into a tight ball. Cut the ball into 12 even pieces (approximately 62 g per piece). Cover the pieces you aren’t working on with plastic wrap to prevent them from drying out.
  • One piece at a time, pull and pinch the edges of the dough to the top until the dough is round. Flip the piece so that the pinched part of the dough is on the work surface. Place your palm and fingers over the ball forming a domed cage, move the dough in small circular motions while applying light pressure to seal it.
  • Once all the pieces are formed, you can begin filling them. One at a time, use your palm to flatten the ball, then gently spread the edges until the dough has a 4 to 5” (10 to 13 cm) diameter. You should keep the center a bit thicker than the edges so the buns will be shaped evenly once wrapped.
  • Place a tablespoon of filling in the center. Gather the edges over the filling and pinch them together to seal it on top. Flip over the bun and roll it in the same circular motion as before to seal, but be gentle so the filling doesn’t tear through the dough. (If a piece of pork starts to poke out or looks like it’s about to you can pinch the dough over the trouble area and smooth it out with your finger.)
  • Place the buns on a parchment-lined baking tray, at least 1” (2.5 cm) apart, and cover them with plastic wrap. Let the buns rise until they grow 1.5 to 2x in size, about 30 to 45 minutes in winter, or 15 to 20 minutes in summer.


  • Preheat the oven to 350°F (176°C). (*Footnote 2)
  • Gently brush a thin layer of milk onto the top of each bun. Sprinkle with some sesame seeds to garnish, if using.
  • Bake for 12 to 15 minutes, or until the buns are golden brown.
  • Let the buns rest until slightly cooled. Serve warm or at room temperature.

Store and reheat

  • Once the buns have fully cooled, you can place them in a large ziplock bag. It’s OK to leave the buns at room temperature for a day. Store them in the fridge for up to 3 days or in the freezer for up to 3 months.
  • To reheat the refrigerated buns, heat them in a microwave or a 350°F (176°C) oven until warmed throughout. For frozen buns, reheat them in a 350°F (176°C) oven without thawing until warmed throughout, 10 minutes or so.


  1. The dough proofing time can vary a lot depending on your room temperature and the freshness of your yeast. When I made the recipe I used a pack of very fresh yeast and our kitchen doesn’t have AC, so the proofing was done in 30 minutes. If your room is cool, it can take up to 1 hour for the dough to double in size.
  2. If you’re making the buns in the summer, preheat the oven when you start wrapping the first buns. The buns might rise quite quickly if your room is hot. In this case, consider baking half of the batch once they have risen while you work on the rest. It’s OK if some of the buns have not risen fully.


Serving: 1serving, Calories: 224kcal, Carbohydrates: 33.8g, Protein: 8.7g, Fat: 5.8g, Saturated Fat: 3.2g, Cholesterol: 37mg, Sodium: 295mg, Potassium: 122mg, Fiber: 1g, Sugar: 6.3g, Calcium: 36mg, Iron: 2mg