Vegan “Hokkaido” Japanese Milk Bread


‘Milk bread’ is supposed to be super soft and can feel dangerously moreish. Many people describe it as ‘dreamy’. For me, Japanese milk bread is like a mochi-cloud. It’s my daughter’s favourite (she even cried when I ran out of slices for her sandwich!).

While researching about it I noticed there was some confusion about milk bread so being Japanese I thought I should clarify these facts.

Clarification 1. The name “Hokkaido Milk Bread”

You can Google either “Japanese milk bread” or “Hokkaido milk bread”, as this is what Japanese people call “milk bread” in Japan. If you use whole milk from Hokkaido (Hokkaido is famous for milk production), then the bread would be called “Hokkaido milk bread”. If you don’t use milk from Hokkaido and use other milk, it is just called “milk bread”.

Clarification 2: Yudane or Tangzhong

Milk bread uses only milk instead of water. Milk is an enriching agent giving the bread softer texture with a sweeter and richer flavour. However, the fat and sugar in milk makes bread drier, less springy and decreases the final loaf volume including oven spring.

The ingenuity of Japanese milk bread is the use of a gelatinised starter dough. The technique is called either Yudane (湯種) or Tangzhong methods. The former being Japanese and the latter being Chinese, a method often used such for making steamed bao.

Yudane literally means “hot water starter dough”. A small proportion of the flour is mixed with water and heat is applied. This gelatinises the starch in the flour. The gelatinised flour will hold more water, which means when you only use enriching agent, such as milk instead of water, the bread will still be moist and springs well in the oven.

In Yudane method the ratio of flour to water is 1:1 at 20-40% final flour weight, whereas with Tangzhong method the ratio is 1:5. Japanese bakers use either Yudane or Tangzhong method to make milk bread.


Yudane or Tanzhong?

There is a plethora of information about yudane and tangzhong methods so I will only mention what is important in creating my recipe.

The more gelatinised starter dough is used the more moist and heavy the bread will be. Yudane is thicker and solid (very much like a play-doh texture) than tangzhong. When you add yudane into the rest of the dough, you would need to add in small pieces otherwise it is harder to knead evenly (especially when you are doing this by hand). Tangzhong is much more liquid and, therefore, even if it solidifies in the fridge it is easier to mix as it’s softer.

You would also be surprised how much difference it makes when you use a small proportion of either doughs in your recipe. I initially made a mistake of using a higher percentage of yudane in my bread and ended up with a very heavy dough-bread. You only need a little bit.

After a number of trials, I have concluded that I prefer tangzhong method. With a much smaller amount flour that is gelatinised, I could control the amount of moisture in the final dough and this minimises the effect on various different plant-based milks on the final bread.

Less messy method

Almost all the recipes I researched require a pan to heat up the tangzhong or yudane. However, I found these methods to be quite messy. In addition, the unknown quantity of dough lost while transferring to a dish makes the recipe less reproducible.

So why not just use a microwave to apply heat to the flour liquid mixture? That really worked a treat!

I have a mini juicer by NutriBullet to mix the flour, water and plant-based milk. I bought the machine a while ago to make baby food but I am actually using it more for baking now than I did for making baby food!

Actually I am glad that I still kept the baby food version of NutriBullet because they have a smaller mixing container which is really useful for making small amounts of pesto etc. Pour the mixture into a microwavable dish if it is not already in one and microwave to gelatinise the mixture. This way a minimal amount of tangzhong is lost.

Measuring a small quantity

In this recipe you need to measure 5g of yeast and 4g of white wine vinegar which are both small in quantity and needs to be accurate. I find it really useful to have a smaller scale that allows me to weigh such quantities. For this I use Accuweight, and I can highly recommend it to measure as small as 0.05g (although the smallest I have done was 0.1g) and I cannot live without it.

So without further ado, here are the ingredients and the method!

Ingredients Make 1 large loaf using 2lb loaf tin

Some ingredients are slightly different depending on the brand so I have put links to them where I think is important. Please note that some are affiliate links.


Ingredients Brand Weight (g)
Strong White Flour Finest Baker’s White Flour by Shipton Mill 15
Water 45
Plant-based milk Oatly Oat Drink Whole 45


Ingredients Brand Weight (g)
Strong White Flour Finest Baker’s White Flour by Shipton Mill 485
Plant-based milk Oatly Oat Drink Whole 260
White wine vinegar 4
Dry yeast* Lallemand** 5
Agave nectar 50
Refined organic coconut oil 30
Sea salt 8

*When I baked with fresh yeast, I used 5g of the yeast.

**I have been using this yeast for a while and found it very strong. If you are using Allinson’s Dry Yeast, use a whole 7g pack. I like the Lallemand brand as it comes in a larger bag and not only lasts longer but also produces less packaging waste.


The night before

  • To make tanzhong, mix the flour, water and plant-based milk thoroughly (I like using a mini juicer).
  • Transfer the liquid into a microwavable bowl if not already in. Microwave at 650W for 30 seconds making sure it does not boil over the container. If it boils up before 30 seconds is up, pause the microwave and let the mixture settle down for 10 seconds or so before resuming to finish in the microwave. Check the mixture and if the mixture doesn’t look like a thick custard, microwave 30 more seconds pausing every now and then.
  • Let the tangzhong cool before storing it in the fridge overnight until needed.

This slideshow requires JavaScript.

The Next day

  • Optional: In a small bowl mix plant-based milk and white wine vinegar to make a buttermilk. Let it curdle for about 5 min or so.
  • In a large bowl, add the flour, buttermilk (or straight plant-based milk), agave nectar, salt, fresh yeast and refined coconut oil (or your favourite vegan butter). Then add tangzhong in small pieces.


  • Using a food mixer, knead at low speed for 2 min, then increase to medium speed for a further 2 min.
  • Place the dough on a surface and shape into a ball.
  • First proofing: Rest the dough in the bowl, cover (I just put a plate over the bowl in order not to use cling film as it is a single-use plastic). Leave the dough until the size almost doubles.
  • Tip the dough onto a surface, degas by pressing the dough gently with fingers and shape the dough into a ball again.
  • Second proofing: Place the dough back into the bowl, cover and leave until the dough almost doubles in size.
  • Tip the dough onto a surface, degas by pressing the dough gently with fingers. Divide the dough into three equal sizes.
  • Flour the surface. Using a rolling pin, flatten the dough into a square(ish) shape and fold into three.
  • Using a rolling pin, flatten the dough again to approx. 25cm length rectangle.
  • Roll the dough softly (do not roll too tight as it won’t rise as much) and place into a loaf tin.
  • Repeat for the other two dough.
  • Final proofing: Cover and leave it for a couple of hours or until the dough rises about 3/4 inch above the rim of the loaf tin. I like to use a hand-spray to mist before covering it with the lid of a cake carrier. This is another way for me to avoid using single-use plastics.
  • Preheat the oven to 240C (220C fan / 475F / gas 9).



When the dough is almost doubled (you can see the dough rising around 3/4 inch or so above the rim) it is ready to bake.


  • Open the oven door slightly and using a hand spray, spray water into the oven for 5 seconds, then close the oven. Then quickly place the loaf tin in the middle of the oven and close the door so that the steam won’t escape.
  • Turn off the oven and leave to spring for 10 min.
  • After that, heat the oven back to 240C (220C fan / 475F / gas 9) and bake for a further 10 min and don’t be temped to open the oven again!
  • Next open the oven and turn the bread the other way so that it bakes evenly (my oven temperature is not entirely even) and bake for a further 5-10 min or until the crust is nice and brown (in my case 7 min is just about right).


Leave the bread for a couple of minutes in the tin (but do not leave the bread in the tin for more than 5 min as the steam will make the bottom of the bread soggy) so the heat calms down a bit.

Then gently push either ends of the bread without crushing it to dislodge the bread to make it easier to take it out of the tin. Be careful as the bread is still very hot and soft at this point.

Rest the bread on a cooling rack. Do not be tempted to cut the bread when it’s hot as it will just crush. Cut once cooled. I always find it easier to do this the next morning.

Be careful not to eat it all at once – it is so yummy!


Please note this post contains affiliate links to Amazon. It won’t affect you in any way, but if you do purchase any of the products via the link then I may receive a small commission. Please visit my About section if you would like to find out more about affiliate links.