Vegan Milk Bread Recipe

This Chinese Milk Bread recipe was inspired by a viewer who wanted to veganize the fluffy buns and loaves from Chinese Bakeries like Maxim’s. The interior texture is soft and silky and comes apart in tender layers. The exterior has some crisp edges and a beautiful deep golden sheen for a delicious contrast. Japanese Milk Bread has the same soft texture that is like the cake of breads. Without being a cake. To be honest, I haven’t tried the Japanese version my self but that’s what I’ve been told.
Click here to skip to the printable recipe.

UPDATE: For an EASIER version of this recipe, try my Easy Vegan Milk Bread. It’s a one-bowl recipe that doesn’t require the stove!

How to Make Vegan Milk Bread Video Tutorial

I was super happy to fulfill this viewer request as it had already been on my to-do list since I went vegan over four years ago. This dough can also be used for other Asian treats such as Curry Beef(less) Buns and Steamed Red Bean Buns. My next goal is to make vegan BBQ pork buns with this. Do you have any Chinese bakery favourites that you’d like to see veganized? Please leave me a comment and let me know!

tang zhong ingredients, flour on weight scale

Vegan Milk Bread and Tangzhong

The first step to this special bread is tangzhong. It’s a mixture of flour and water or milk, cooked over low heat until it turns pudding-like. This technique was first widely publicized in Yvonne Chen’s book called the 65 degree Bread Doctor. The cooked flour mixture helps the bread bake up softer and lighter while locking in moisture so the loaf stays fresh for longer.

raw tang zhong in sauce pan

How to Make Vegan Milk Bread

While the tangzhong is cooling, mix yeast with warm water and a bit of sugar in a cup or directly in your mixing bowl and let the yeast activate. It’s really important to check that your yeast is alive before proceeding. It’s good if you see it bubbling and foaming after a few minutes.

cooking thermometer reads 105 degrees farenheit

Then when the tangzhong has cooled to about the same temperature as your yeast mixture, you can mix it into the bowl along with one egg replacer, additional sugar and a bit of salt. I used Ener-G egg replacer powder with water but you can also use aquafaba or a flax/chia egg (one tablespoon of ground flax/chia with two tablespoons of water).

tang zhong and yeast mixture plus sugar and egg replacer in bowl

When everything is mixed smooth, you can start adding all-purpose flour. Milk bread is normally made with white bread flour and you can use that if you like. Whole wheat flour will work as well, but it will turn out heavier. For a nice compromise, I like using 50% whole wheat flour and 50% unbleached all-purpose flour.

rough dough

The rough dough ball

The amount of flour will always vary in bread recipes. This is because flour can vary so much from brand to brand or even batch to batch. The climate and time of the year will also affect the amount. My recommendation is to go by feel. Add flour a cup or half cup at a time, mix it in thoroughly, then add more if necessary. The goal is just to get everything to stick into a dough ball. It is ok if the dough is a bit sticky. You’ll knead it on a floured surface until it is smooth and just slightly tacky.

At this point, you may want to rest your hands. Letting the dough rest for ten minutes or so will also make the next round of kneading go easier. The rest allows the gluten to relax and the dough gets a bit softer.

To get the soft tender layers in the finished bread, you’ll knead in some vegan butter or coconut oil. Use refined coconut oil if you don’t want your bread to have a coconut aroma.

Once the fat is incorporated, set the dough in a bowl and cover it. Let it rise in a warm, draft-free location for about an hour or until it doubles in size. I like to do this in my oven with just the oven light on. The only risk is that it gets too warm in there and you’ll have over-fermentation (which imparts an unpleasant alcohol aroma). So if you do this technique, consider leaving the oven door open a crack.

three dough balls

After the dough doubles in size, divide the dough up depending if you want to make mini buns or the three mini loaves like I do here. You can also just make one regular sized loaf.

Form each piece into a ball. Pull the drier sides in and the moist cut side will stay on the outside. Just makes for nicer dough balls but again not 100% necessary. Or even 50% if we’re going with percentage point which have nothing to do with this. At all.

vegan milk bread dough rolled up

Then roll them out long into rectangle shapes and roll up them up before placing them into a greased loaf pan. This will give the buns more layers to pull apart.

raw vegan milk bread dough brushed with syrup

Let the rolls rise once more under a moist kitchen towel, brush with a mixture of maple syrup and water (or your fave glaze) then bake in your preheated oven.

shiny tops of vegan milk bread

Milk bread is all about the soft, stretchy, pillowy texture and this vegan milk bread has it! A beautiful treat or made into an everyday sandwich bread with whole wheat flour, it’s up to you. Please let me know if you try this recipe. Enjoy!

tender layers inside vegan Asian sweet bread

Printable recipe for Vegan Chinese Milk Bread

Yield: 1 loaf

Vegan Milk Bread Recipe

vegan milk bread on cooling rack

Chinese bakery bread at home! This vegan milk bread is soft with tender layers that pull apart and contrast perfectly with a lightly crisp exterior and shiny top.Β 

Prep Time 2 hours 30 minutes
Bake Time 24 minutes
Total Time 2 hours 54 minutes


For Roux (Tang Zhong)

  • 1/4 cup all-purpose flour (40g)
  • 3/4 cup + 2 tablespoons soy milk (full fat) (200ml)

Yeast Mixture

  • 1/2 cup soy milk (full fat) (120ml)
  • 2 teaspoons traditional yeast (one envelope)
  • 1 teaspoon sugar


  • 1/4 cup sugar (55g)
  • 1 teaspoon salt
  • 1 egg replacer*
  • 2 1/4+ cups all-purpose flour (275g or more)
  • 2 tablespoons vegan butter (see notes)

Syrup wash

  • 2 teaspoons maple syrup
  • 1 tablespoon water


Make Tangzhong

  1. In a saucepan, whisk together the roux (tang zhong) ingredients. Cook over medium low heat while continuously whisking. The roux will thicken as it cooks. Remove from heat and set aside to cool after the mixture reaches 65°C. The appearance will be smooth and glossy.
  2. Heat 120ml of soy milk (or milk of choice) to 43°C. Stir in yeast and a teaspoon of sugar. When the mixture becomes bubbly, you'll know that the yeast is active.

Make Dough + Proof

  1. When the tangzhong is cooled to about 43°C, combine it with the yeast mixture in a large mixing bowl. Add your choice of egg replacer (see notes for suggestions), sugar and salt. Whisk until smooth.
  2. Add flour, a half cup at a time. Stir the flour in completely before adding more. You want to add just enough flour for a soft sticky dough to form. Turn the dough on to a floured surface and continue to work in flour until the dough is smooth and only slightly tacky.
  3. Let the dough rest for 10 minutes to allow the gluten to relax. Knead in the vegan butter (or coconut oil) using only half at first, incorporating completely, then kneading in the rest.
  4. Transfer the dough to a bowl and cover it with a damp kitchen towel. Place in a warm, draft-free location and let rise for one hour or until doubled in size.

Shape Dough + Proof

  1. Remove dough from the bowl and divide the dough into equal portions. If making dinner rolls, divide into six. If making mini loaves, divide into three. Or leave it as one dough ball to make a regular loaf. Turn the dough so that the moist cut side is on the outside and pinch ends together. See the video for a demonstration.
  2. Roll the dough balls out flat. Fold the sides in so that each piece resembles a rectangle. Roll up the pieces and pinch the ends to seal.
  3. Grease a loaf pan (for mini loaves and regular loaf) or rectangle baking pan (for dinner rolls) thoroughly with oil. Place the pieces into your greased pan, spacing the dough evenly.
  4. Cover with a damp kitchen towel and allow to rise in a warm draft-free location for 45 minutes or until the dough has doubled in volume. During the last 15 minutes, preheat your oven to 175°C.

Finish + Bake

  1. Combine the water and maple syrup for the syrup wash. Remove the cloth from the dough. Brush the tops of the dough lightly with the syrup wash.
  2. Bake at 175°C for 20 to 24 minutes or until the top is a deep golden brown. Let cool on a cooling rack before serving.


  • You may use bread flour instead of all-purpose flour if you like.
  • I used soy milk but you can use any type of plant-based milk you prefer. For this recipe, full fat versions are preferred.
  • For the vegan butter, you may use homemade or store-bought. If you can't get the hard-style of vegan butter, softer vegan margerines can be used.
  • You may also substitute with refined coconut oil or unrefined (for a coconuty aroma) but use only 15ml. You may choose to skip the overt fat but adjust your expectations for this recipe. It will not be as moist, tender, or stay fresh as long.
  • For sugar, you may use any type you prefer but keep in mind, it will affect the flavour. Make adjustments for sweeteners that are more or less sweet than regular granulated sugar such as stevia or date sugar, respectively.
  • *For egg replacer, I used Ener-G powdered egg replacer with water. You may use 45ml of aquafaba or a flax egg (15ml finely ground flax meal with 60ml of water). The flax egg does weigh the dough down a little but it is not as noticeable with golden flax (vs brown flax).
  • Learn how to makeΒ aquafaba egg replacer here.

Nutrition Information:



Serving Size:


Amount Per Serving: Calories: 272Total Fat: 6gSaturated Fat: 3gTrans Fat: 0gUnsaturated Fat: 2gCholesterol: 41mgSodium: 409mgCarbohydrates: 48gFiber: 2gSugar: 11gProtein: 7g

Nutritional Information automatically calculated by a plugin and may not be correct.

Did you make this recipe?

Please leave a comment on the blog or share a photo on Instagram

vegan milk bread on cooling rack

Showing 45 comments
  • Reply

    Mmmmmm….warm buns….yum….warm vegan milk buns….AMAZING!!! I can definitely go for some of those in this dreary April showers weather we are about to have.

    • Mary

      <3 Thanks for the comment!

  • Emily

    I will definitely try this recipe! But, when I do, I think I will mix some cinnamon with the butter and put a thin layer of pecan pieces in the center of the roll. Thank you for the recipe!

    • Mary

      That sounds great!

  • shaela

    Awesome, except too sweet. I used organic white sugar.

    I usually only put 2 tbs in my regular bread recipe.

    This was one tbs + 1/4th a cup, and too sweet.

    So I’ll just try it with 2 tbs next time.

    Also, I put the butter in with the yeast, as I thought trying to add it to a dough ball, would just make it slimy.

    Other than that, it came out springy and nice.

    I don’t enjoy it very much because of the over sweetness, but will try it again with less sugar and I bet it will be great!

    Thanks 4 sharing the recipe!

    • Mary

      You’re welcome. Milk bread isn’t regular bread though; it’s meant to be sweet. Next time, try the butter in the dough! It’s what gives the dough many flaky pull apart layers. Though I admit it’s messy! Glad you enjoyed the recipe anyway <3

      • Vegan

        Perhaps freezing a vegan butter stick, then grating butter shreds, (from a measured chunk of butter,) over the dough, then rolling those in, might make it less messy?

  • Reply

    Thanks for the post! I’ve been searching for recipe for vegan milk bread so I’m happy I came across this one πŸ™‚

    • Mary

      You’re most welcome!

  • Mai

    I was wondering, how I could substitute instant yeast? The instructions say to mix the instant yeast with the dry ingredients, and not dissolve in the liquid by itself … is that possible with this recipe? Or do you need the yeast to mix with the milk and sugar?

    • Mary

      Just substitute instant yeast directly in this recipe. No changes are necessary. Have fun πŸ™‚

  • Swann

    Can I substitute the all purpose flour with coconut or almond flour? I know it’ll have to use less but will it still rise?

    • Mary

      No; the gluten in wheat-based flour is an important part of this recipe.

  • Nancy

    I made this and it was amazing! Thank you so much for sharing the recipe and video. I will definitely be making it again and again!

    • Mary

      Yay! <3

  • Evie

    I would love to try this recipe since my son has a problem consuming milk products due to protein contain in it. I am totally a begginer in bread making, but I have to learn to make it for my son as it’s hard to buy soymilk based bread in Bali. Ihave an instant yeast, can I use this and how to modify the recipe? As I know that these two type of yeasts will work the same if we do it the right way. Looking forward for your response.

    • Mary

      You don’t need to change a thing; just use the instant yeast the same way you would use the traditional. Have fun! πŸ™‚

  • Lam

    Hi Mary!
    So great your recipe , I did it with a bit different with your origin, with aquafaba , coconut sugar , almond milk and it is super fluffy , super soft . Must be my favorite vegan milk bread recipe ever. Thank you so much, especially your tangzhong suggestion, I also use it for vegan steamed buns. PERFECT !!

    • Mary

      Awesome to hear! Thanks for sharing your experience! <3

  • Mel

    I made this recipe yesterday and ended up with a dense bread. The only change I made was to replace the butter with coconut oil. πŸ™

  • Brenda

    Hi Mary! I’m so excited to try making this bread soon. Thank you tons for the recipe! Just wondering, is there a big difference between using bread flour and regular all-purpose? Also, if I wanted to make it ahead of time, would the bread stay super soft a day or two after making it?

  • Sys

    Thank you, thank you, THANK YOUUUUUU <3 <3 <3 Just found this recipe a couple of weeks ago, and I have made your fab milk bread twice now, both times it worked out perfectly and I am in love. With this bread. And you. You are a perfect angel-unicorn-vegan-magician, Mary. Endless love from Denmark : )

  • Dyana Aria Burkhammer

    I’d love to make this but I can’t figure out how to download the recipe. Usually one just hits the print button. Please help.

    • Mary

      Hi Dyana,
      Under the Printable Recipe heading, you can click on the “print” button and a new tab with the printable version should open up on your browser. You can then choose the size and if you want to include the image and click “print” again on the top right corner to bring up the print options through your browser. Hope that helps!

  • JS

    You’re a genius, Mary! BTW, milk bread is also popular in India – I remember its warm, pillowy, cotton-like softness. As kids, we used to dunk it in a glass of warm milk every morning – it was the only thing that made drinking plain milk bearable.

    • Mary

      That’s so cool to hear – of course pillowy soft bread has appeal everywhere – so delicious! lol I also did not like to drink plain milk! Thanks so much for sharing, dear.

  • Kaitlin Agius

    When I made this I think i put a little too much maple syrup/ water onto the buns. After 24 mins they turned out raw in the middle. Popped them back in the oven for a few more minutes and hope that saves them.

  • Emily

    Flaky, pull apart, couldn’t-stop-eating-it good bread . . . amazing recipe! Thank you for making this, it is perfect. It is so hard to make vegan bread without it 1) being bland or 2) being dry and you really nailed it here.

    Thank you for this! I love your recipes and youtube channel.

  • Cassandra

    Hi Mary! I recently turned vegan and have been craving for bread and pastries but could not find any vegan options available here in Malaysia.

    Thank you so much for this recipe! I made it today and it turned out so good!!

    I used Bob Red Mill’s vegan egg replacer and 1 tbsp of coconut oil instead of the vegan butter and it worked perfectly.

    • Mary

      That’s wonderful to hear, Cassandra! Thank you so much for your comment.

  • Tchernika

    After the yeast shortage of the past weeks, my hubby came back from shopping with a 500g cube of fresh (!) yeast the other day. By making a brach of this recipe I have used 25g already XoD
    But anyways, it turned out great and the whole family loves it. Thanks!

    • Mary

      Wow what a hero πŸ™‚ Lovely to hear that that fresh yeast worked for this recipe. Thanks so much for sharing!

    • Ursula Knaack

      Sorry, just to clarify: 20-25 grams of fresh yeast are sufficient for a double-batch of this recipe! (stupid auto-correct ‘:)

  • Jannie

    Is it possible to make this if I don’t have a thermometer?

    • Mary

      Yes, just make sure that water/milk is not too hot, otherwise you risk killing the yeast. If the liquid is too cold, this will cause the dough to rise more slowly. If you find that’s the case, just put the dough in a warm location and give it more time. Good luck!

  • vanessa gilles

    if I am short on time and already rolled up and placed the loaves in the pan, instead of 45 minutes can I simply leave the loaves rising overnight in the fridge?

    • Mary

      In theory it should work. In practice, I haven’t tried this. You just run the risk of it over-proofing. Good luck!


      • vanessa

        thank you for the quick answer! fingers crossed, I put one loaf in the over and the two others in the fridge!
        looking forward to the output!

  • Guest

    Dear Mary,
    first of all, thank you for this great recipe!
    I am wondering if there might be a mistake in the metric recipe though or if I just misunderstood something. In the cups version of the recipe you first use 1/4 cup, that in the metric version becomes 40g. Later you use 2 1/4 cup, which in the metric system then should be 9x40g=360g, but the metric recipe says 275+g?
    In the video you say to use as little additional flour as possible, but adding around 80g is not exactly a little amount ;-).
    I noticed this, because my dough was way too sticky and I had to add a lot of flour bit by bit to achieve the structure your dough had in the video. The concistency looked about right then, so I think I estimated it correctly (I hope :-D).
    My bread is now in the oven and I greatly look forward to sampling it. Thank you for the great idea!

  • Rose

    These are great! My favorite vegan bread recipe πŸ™‚ Thanks

    • Mary

      That’s wonderful to hear, Rose. Thank you so much.

  • Elizabeth

    Would it be possible to use regular egg and butter in this recipe?
    Thank you.

pingbacks / trackbacks

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Skip to Recipe
stack of vegan glazed donuts