Go Back
+ servings
milk buns in a baking pan.
Print Recipe
5 from 7 votes

Milk Buns

These milk buns are soft, pillowy and amazingly fragrant. If you like Asian bakery style buns and want to try making them fresh at home, this is the recipe for you!
Prep Time30 mins
Cook Time16 mins
Proofing time2 hrs 30 mins
Total Time3 hrs 16 mins
Course: Bread
Cuisine: Asian
Servings: 12 buns
Calories: 131kcal
Author: Edwina


  • Stand mixer


  • 250 g bread flour 2 cup
  • 50 g cake flour ⅓ cup
  • 30 g sugar 2 tablespoon
  • 20 g condensed milk 1 tablespoon
  • 85 g cold water ⅓ cup + 1 tbsp
  • 80 g cold milk (preferably whole milk) ⅓ cup
  • 25 g whole egg about half an egg
  • 1 teaspoon instant yeast ideally saf instant yeast
  • ½ teaspoon sea salt ¼ teaspoon if using table salt
  • 30 g unsalted butter 2 tbsp
  • melted butter for brushing


  • Add flour, sugar, condensed milk, milk, water, egg and yeast into the stand mixer and knead on low speed until the dough is formed.
  • Cover the mixing bowl and let the dough rest for 30 minutes. Store it in the fridge if your room temperature is higher than 80°F
  • Meanwhile, bring the butter out from the fridge, cut it into 4-6 pieces and leave it on the counter to soften a little.
  • When it's done resting, add salt and continue to knead the dough for 1 minute.
  • Add butter cubes one by one and knead until the dough is very smooth and passes the windowpane test. (This step takes me about 7 minutes, with 6 minutes on low speed and 1 minute on medium speed. The actual time it takes depends on your mixer. It can take up to 15 minutes.)
  • Form the dough into a ball (it will be very sticky, but if it's too sticky to handle, then add a little bread flour and knead for another 1~2 minutes) and put it in a lightly greased bowl. Cover, and let it rise for 1 hour to 1.5 hour in a warm place (between 80°F to 90°F) until it doubles in size.
  • Transfer the dough onto a working surface and cut it into 12 even pieces. Cover and let them rest for 5 minutes.
  • Form each piece into a ball (see the instruction in the main post) and place them in a lined baking pan, cover with greased plastic wrap and then cover with a damp cloth and let it rise in a warm place (between 80°F to 90°F) until it doubles in size (about an hour).
  • In the last 20 minutes of proofing, preheat the oven to 375°F (190°C).
  • Preheat the oven to 375°F. Bake at 375°F for 16 minutes or until golden brown.
  • Brush the top with melted butter and transfer the rolls onto a cooling rack. Let it cool for 10 minutes before enjoying.


Measure your ingredients with a kitchen scale! Especially for flour and liquids, because your one cup can be very different from my one cup.
Bread flour is the key for this recipe, replacing with all purpose flour is not recommended as you won't get the same texture. 
Using cold liquid prevents the final dough from becoming too warm, which will affect the texture of the bun.  If the temperature of your dough becomes higher than 82°F (28°C) when it's done kneading, place it on a tray and chill it in the freezer for 1-2 minutes before proofing.
Saf instant yeast is highly recommended, you will be surprised with how it can improve the texture of the bun. I use the gold label Saf, but the red label will work just fine.
If your indoor temperature is too low, you can proof your dough in a sealed oven that also contains a separate glass tray on the bottom rack that's filled with boiling water.
I usually bake these buns in a 9 x 9 (23 x 23 cm) tray, but you can use any tray of a similar size. If you use a sheet pan, place each dough ball half an inch apart.


Serving: 1g | Calories: 131kcal | Carbohydrates: 22g | Protein: 4g | Fat: 3g | Saturated Fat: 2g | Cholesterol: 14mg | Sodium: 106mg | Potassium: 43mg | Fiber: 1g | Sugar: 4g | Vitamin A: 89IU | Calcium: 17mg | Iron: 1mg