Go Back
+ servings

Homemade Pineapple Buns (Bo Lo Bao)

These Homemade Pineapple Buns taste just like the Chinese bakery classic. They feature a soft and light, pillowy bun with a crunchy, lightly sweet buttery topping. 
Course Breakfast, Dim Sum, Snack
Cuisine Asian, Chinese
Prep Time 45 minutes
Cook Time 20 minutes
Resting Time 1 hour 30 minutes
Total Time 2 hours 35 minutes
Servings 8
Calories 373kcal
Author Michelle



  • 50 g salted butter room temperature
  • 50 g cake flour
  • 50 g all-purpose flour
  • 50 g granulated sugar
  • 50 g powdered/icing sugar
  • 5 g dry milk powder
  • 2 g baking powder
  • 1 egg yolk
  • 1 tablespoon egg white or milk
  • 1 teaspoon vanilla extract


  • 85 ml whole milk
  • 15 g all-purpose flour


  • 115 ml whole milk warm
  • 40 g granulated sugar
  • 5 g active dry yeast
  • 300 g all-purpose flour
  • pinch sea salt
  • 1 large egg
  • 30 ml avocado oil or light vegetable oil


Make the topping:

  • In a stand mixer bowl fitted with a paddle attachment, add in the room temperature butter.
  • Cream the butter for about 30 seconds, until light and fluffy.
  • With the mixer on low, add in the cake flour, all-purpose flour, granulated sugar, powdered/icing sugar, dry milk powder, and baking powder until combined and crumbly.
  • Add in the egg yolk, 1 tablespoon of egg white and vanilla extract and continue to mix for another 30 seconds.
  • The mixture should be able to clump together in your hand. If it is too dry, add 1 teaspoon of milk or egg white to the mixture.
  • Transfer the butter mixture to a large piece of parchment paper and flatten out with a rolling pin.
  • Chill in the fridge for 5-10 minutes.
  • Use a round cookie cutter to cut out the topping (each topping should be about 35g).
  • Keep the cut out topping in the fridge until ready to use.
  • Alternatively, you can shape the butter mixture into a log.
  • Chill in the fridge and then cut into discs, and then flatten out into a round. It just depends if you want a clean round cut or not.

Make the tangzhong:

  • Add the milk and flour to a small saucepan.
  • Whisk over medium heat until thickened and gloopy, with a texture similar to a gluey paste.
  • Remove from heat and let cool.

Make the dough:

  • In a small bowl, combine the warmed milk, sugar, and yeast. Give it a stir and let the yeast activate and become bubbly, a few minutes.
  • In a stand mixer bowl fitted with a dough hook attachment, add in the cooled tangzhong mixture, flour, sea salt, egg, oil, and the activated yeast mixture.
  • Knead until the dough becomes shiny and smooth, at least 5-8 minutes. The dough may appear wet at first, but it will come together.
  • Transfer the dough to a lightly greased bowl and cover with a tea towel in a warm location. Leave it to rise until doubled in size, about 1-1.5 hours, depending on how warm your kitchen is.
  • Deflate the dough and divide into 8 equal portions, about 76g each.
  • Shape the dough into a round ball with your hand and place onto a large parchment-lined baking sheet. (I used a 9" by 17" baking sheet).
  • Allow some space between each dough for it to expand. Repeat with the remainder.
  • Cover the dough loosely with a tea towel and let it become slightly puffy, about 20-30 minutes.
  • Preheat oven to 350°F/177°C.
  • Remove the butter topping from the fridge.
  • Use a sharp pairing knife to make parallel slits on each topping going in one direction, and then repeat going in the opposite direction, so that you end up with "hashtags," or the visual effect of a pineapple.
  • Use a dough scraper to transfer the butter topping onto the surface of each dough ball.
  • Use a pastry brush to lightly brush the topping with egg white (or milk).
  • Bake at 350°F/177°C for 18-20 minutes, until lightly golden in colour.
  • Remove from the oven and let cool slightly on a wire rack.
  • Best enjoyed freshly baked.


Calories: 373kcal | Carbohydrates: 59g | Protein: 8g | Fat: 11g | Saturated Fat: 5g | Polyunsaturated Fat: 1g | Monounsaturated Fat: 5g | Trans Fat: 1g | Cholesterol: 61mg | Sodium: 99mg | Potassium: 126mg | Fiber: 2g | Sugar: 19g | Vitamin A: 273IU | Vitamin C: 1mg | Calcium: 67mg | Iron: 2mg