Hokkaido Milk Bread

Test Kitchen-Approved

Author Notes:

Milk bread is a staple in Asian bakeries and one of my all-time favorite breads. It's a pillowy-soft, sweet, and fragrant enriched bread made with cream and a special roux-like paste called tangzhong, which adds structure to the crumb to yield an especially fluffy, cloud-like texture. Recipe adapted from Christine's Recipes.

cynthia | two red bowls

Makes: one tall 9- x 4-inch loaf
Prep time: 4 hrs
Cook time: 30 min


For the tangzhong:

  • 6 tablespoons water
  • 2 tablespoons bread flour

For the rest:

  • 1/4 cup whole milk
  • 1 1/2 teaspoons active dry yeast
  • 2 1/2 cups (about 320 grams) bread flour, plus up to 1/4 cup (30 grams) more
  • 1 teaspoon salt
  • 1/4 cup sugar
  • 1/4 cup heavy whipping cream
  • 1 tablespoon sweetened condensed milk or milk powder (optional)
  • 2 eggs, 1 for the dough and 1 for the egg wash
  • 2 tablespoons butter, softened
  • 1 splash milk or water, for the egg wash
In This Recipe


  1. In a small saucepan, whisk together 6 tablespoons of water and 2 tablespoons of bread flour until no lumps remain. Heat the mixture over medium-low heat, whisking constantly. It should thicken to a gel-like consistency after just a few minutes. As soon as lines appear in the mixture when stirred, remove it from the heat and transfer it to a small, clean bowl. Let cool to room temperature.
  2. Next, heat the milk briefly to just above room temperature, about 110° F or lukewarm to the touch (I do this simply by microwaving it for 10 to 15 seconds). Sprinkle the yeast over the milk and set it aside for 5 to 10 minutes for the yeast to activate (you’ll see the milk start to foam).
  3. In the meantime, whisk together 2 1/2 cups of the bread flour, salt, and sugar in a large bowl. In a smaller bowl or a measuring cup, whisk together the tangzhong, cream, condensed milk (or milk powder), and one egg.
  4. When it’s ready, add the yeast mixture to the wet ingredients, and whisk gently, just to incorporate. Make a well in the dry ingredients and pour in all of the wet ingredients. Stir with a wooden spoon until the mixture forms a loose, shaggy dough, then switch to using your hands. Knead for 4 to 5 minutes, or until the dough forms a semi-smooth ball. The dough will be quite sticky -- sprinkle the extra 1/4 cup flour, a tablespoon or so at a time, over the dough and your hands as you knead to keep it from sticking too much. I usually use at least 2 tablespoons and often up to the full amount, but you may not need it all.
  5. Add the butter to the dough, one tablespoon at a time, kneading after each addition. Add the second tablespoon of butter only after the first has been evenly incorporated. The dough will be slippery and messy at this point, but just keep kneading (actually, it’s oddly satisfying) and it should eventually form a soft and pliable dough that’s easy to work with. Knead for an additional 4 to 5 minutes, or until the dough becomes smooth and elastic.
  6. Place the dough in a large bowl with plenty of room and cover the bowl with plastic wrap or a damp towel. Let rise for 1 to 2 hours, or until well doubled. Alternatively, you can let the dough proof overnight in the refrigerator, which I prefer. It gives extra time for the gluten to develop, and yields a better flavor, in my opinion. Plus, dividing the labor over two days makes the process much more manageable. The dough should be fine for up to 24 hours. If storing in the refrigerator, cover more tightly with plastic wrap to avoid drying out, but do not seal completely (an airtight seal can sometimes cause an alcohol-like smell to build up in the dough).
  7. Once the dough is doubled, turn it out and punch it down. Divide it into three or four equal pieces. For each piece, roll the dough out to a long oval. Fold the oval into thirds widthwise, then flatten again. Roll the dough up lengthwise, then place into the loaf pan. Repeat with remaining pieces.
  8. Let the dough rise again until it's nearly doubled, another hour or so. After about 40 minutes, preheat the oven to 350° F. When the dough seems ready, test it by pressing it gently with one finger; when the indentation bounces back slowly but remains visible, the dough is ready to bake.
  9. Whisk your second egg with a splash of milk or water, and brush the egg wash over the dough. Bake for about 30 minutes, or until golden-brown on top. (If your heating element is at the top of your oven and the bread begins to brown too quickly, cover with foil to prevent burning.) When it’s done, the bread will sound hollow when tapped. Let it cool briefly, then slice and enjoy!

More Great Recipes:

Reviews (65) Questions (0)

65 Reviews

Elizabeth December 3, 2018
I made this three times in a week in an attempt to get it right so I have some thoughts to share. The first time, I found my yeast was dead when it didn't rise so I threw the dough away. The second time, I am pretty sure I overkneaded it. I kept kneading it, trying to get it to pass the windowpane test (first time I've ever tried that) instead of just paying attention to the texture/feel. I'm used to using a Kitchenaid mixer with a dough hook rather than hand kneading, so I imagine this is just a matter of getting a feel for it. I also found that when I measured the flour by volume, spooning into a measuring cup, I ended up using most of the additional 1/4 cup the author called for. When I measured it by weight (320 g), I used a little over 1/3 cup to keep it from totally globbing on my hands. The texture ended up great even with that extra flour so I think again, it's just about arriving at the right feel. I did not find the dough too sweet with 1/4 cup sugar as other reviewers said - this is personal preference but I like my shokupan sweet!<br /><br />Last thing - I need to measure the temp in my oven in case it's off, but the first time I successfully baked it, I found the middle to be raw even though the loaf appeared perfect. An extra 5 minutes would have done it well. That egg wash makes it deceptive. Other recipes for milk bread call for an internal temp of 190F, so when I baked it in a cast iron loaf pan for more even heating, I found that it took about 45 minutes to get that temperature but the interior was perfect. Until I get really great at telling from look and thumping it, I'll probably be using a probe thermometer to check doneness. Thanks for a great recipe. The cast iron made it rise up really beautifully - and the interior had that perfect cloud-like tearaway texture that I love about this kind of bread!
Hiromi M. July 15, 2018
I made this again, but doubled the salt and halved the sugar and it is perfect! I can’t stop eating it. Can’t wait to make different versions of this.
Hiromi M. July 7, 2018
It has a very good flavor and doughy. I can eat the whole thing. I grew up in Japan and breads there are so good, I was disappointed when I moved here. Sourdough bread has good texture, but I hate the flavor. I decided it is just better find a good recipe and make one myself.<br /><br />I would use a bit less sugar next time. I used Kitchenaid to mix the first part, then knead with 2tbs of flour and butter by hand. I let it sit in the fridge overnight for the first proof.<br /><br />I think my yeast is getting old, so it didn't rise as much as it should have, so I will try this again with less sugar and new yeast.
Diana February 27, 2018
Can this process be done in a kitchenaid?
Hiromi M. July 7, 2018
I used Kitchenaid to mix flour and liquid the first time for about 5 min. Then I used my hand to knead in 2 tbs of flour and 2tbs of butter part.
CoffeeAndBaconYum July 18, 2017
Can SAF instant yeast be used in place of the active dry yeast?
Author Comment
cynthia |. July 18, 2017
It most certainly can! I love SAF yeast! In that case, you can just whisk it into the flour in Step 3 with the salt and sugar, and you don't need to proof it in the milk first. I hope the bread turns out well for you if you try it!
CoffeeAndBaconYum July 19, 2017
Thanks for the quick reply! I just got some SAF yeast for the 1st time. Looking forward to trying this recipe!
Lisa L. May 20, 2017
My dough is currently proofing and, at this point, I'm approximately 96% certain that I overcooked my tangzhong, kudos to my inability to read directions ahead. Not to be daunted at the stiffness of my dough and the soreness in my arm, I added exactly 1-2 tbsp extra of heavy whipping cream (or howevermuch two capfuls equals). My dough was still a bit stiff, but I pushed on and, after incorporating all of my butter, introduced it to my favorite kneading move, something I like to call "throw-dough-at-table-repeatedly-until-it -feels-right," until it was soft as a baby's bottom (or at least, what I imagine a baby's bottom to feel like). As extra insurance, perhaps I should give it a second rise before shaping..? Any advice would be very much appreciated!
Author Comment
cynthia |. May 22, 2017
Hi Lisa, I'm sorry I didn't catch this while your dough was still proofing, and sorry that your dough was so stiff! Did you end up giving it an extra rise? How did the bread turn out? I'm not too sure what an extra rise would do, since I've never tried, but I did have one batch turn out too stiff from a little bit too much flour and it ended up baking up just a little shorter and denser. It sounds like you did the right thing if you eventually got it to "baby-bottom" status! What I've begun to like to do with this bread is add 2 1/2 cups of flour at the beginning and reserve the 1/4 cup to add as I knead. I usually end up using most or all of it, but it adds a little extra insurance to make sure the dough isn't too stiff. I know this is a bit too late, but maybe if you feel like giving it another go. Let me know how the bread turned out and thank you so much for trying it!
Author Comment
cynthia |. May 22, 2017
(PS I edited the recipe to reflect the 2 1/2 cup + 1/4 cup tip!)
Lisa L. May 23, 2017
I ended up not giving it that extra rise, but I did let it rest in the pan for a bit over an hour before baking. I thought it turned out pretty good (though I've never had milk bread before), considering how dry my dough was initially, and my family members were none the wiser! I'm definitely planning on trying it out again sometime - I definitely want to experience the same success that so many other people did!
melissa Y. April 14, 2017
This is our family's go-to bread (it goes especially well with ham-perfect for Easter leftovers!). I have made it countless of times and it turns out perfectly every time. I double the recipe to make two loaves, though this does max out my pro mixer. I have forgot the tangzhong and it still turns out ok, though the texture is much spongier and softer with it in. This makes loaves comparable to the best bakeries in Japan and I am indebted to Cynthia for sharing!
Author Comment
cynthia |. April 14, 2017
Melissa, this just absolutely made my day. Thank you so much for letting me know! I'm beyond thrilled. Wishing you and your family a restful Easter weekend.
tanblanc March 7, 2017
I just made this bread and it is spectacular! My housemates are going to love me! I replaced the heavy cream for coconut milk and it worked beautifully - and you can't feel the coconut flavor in the end, it really feels like the final taste is exactly what it was meant to be!
Author Comment
cynthia |. April 14, 2017
Hurray! That makes me so happy, and I love the coconut milk idea!
Ian P. September 17, 2016
Hi! This is an awsome recipe. May I ask if I can add half cup instant oats and half cup raisins? And also can i substitute honey instead of refine sugar? Thank you very much!
Author Comment
cynthia |. April 14, 2017
Hi Ian, I can't say for sure because I've never tried, but I think these things would work! You may want to decrease the amount of flour slightly (say, by 1/4 cup or so) if you use the 1/2 cup oats. Please let me know how it goes if you try it!
LULULAND July 29, 2016
The recipe sounds cool but, can I use gluten-free flour or what other substitution can I make? thanks!
Author Comment
cynthia |. April 14, 2017
Hi Lululand, I'm afraid I don't know (and I'm sorry for the very belated response!) because I do not generally bake GF bread. I imagine some changes would have to be made to the recipe if you wanted to use a GF flour substitute. If you develop a GF equivalent, I'd love to hear about it!
Mimi January 7, 2016
I made this yesterday and it was my first time making bread! Tasted so yummy and my family loved it too! My five year old brother named it "Mimi bread" >.<. Thanks for the recipe!
Sunny December 14, 2015
Hi, if I want to refrigerate the dough overnight before baking it, do I wrap the dough with plastic completely airtight on its own or do I plastic wrap the bowl in which I have placed the dough in? The second option to me sounds like there might be air in the bowl and thus, might make the dough dry? I'm new to baking - please help :) thanks so much!! I've already bought all the ingredients to this recipe and can't wait to try it
Author Comment
cynthia |. December 14, 2015
Hi Sunny! You will want to plastic wrap the bowl, not the dough -- leaving a little air in the bowl is ideal because it will leave room for the dough to rise and oxygen for the yeast to eat :) It's also a good idea not to seal the bowl too tightly -- a few times I've accidentally put a totally airtight seal on the bowl and the dough has developed an alcohol-y taste and smell from the built-up gases inside. I like to put one layer of plastic wrap, lift one small corner of it, and then wrap the bowl and the plastic wrap in a tea towel. Sometimes the dough develops a slight "skin," but it won't dry out as long as it's mostly covered. I hope that helps!
Chef D. November 25, 2015
That bread looks fantastic! I want some now, but without the hassel of cooking it ;P
Laurel D. November 9, 2015
This recipe makes a wonderful loaf! Both the flavor and texture are lovely. Thank you for sharing. I can't wait to make it again.
Joanne P. October 8, 2015
this is such an awesome recipe!! the hokkaido milk bread was everything I had hoped for - pillowy, soft and full of flavour. Blogged about it here: http://fudgeandjoy.com/baking-2/hokkaido-milk-bread/
Rex H. August 31, 2015
Awesome recipe! Wish I could share the pic, but not the bread, it's all mine. Lol
Holly L. August 20, 2015
I just had my first bite of the loaf I made this morning and it is AMAZING. Your recipe was very easy to follow and it turned out perfectly. Thank you so much for sharing! With the lack of Taiwanese bakeries where we live, my husband is very happy to be able to have sweet toast again. :)
Author Comment
cynthia |. August 21, 2015
This made my day. Thank you so much for letting me know and for trying the recipe, Holly!!! I'm over the moon that you liked it as much as I did. :) YAY!
ruth May 4, 2015
Thank you I will try this!!<br />
ruth May 2, 2015
I have made this bread several times, we love it . But why does the rolls not get as soft as the bread. HELP why not.
Author Comment
cynthia |. May 4, 2015
Hi Ruth, I'm so sorry you had trouble with the rolls! Can you tell me whether you baked the rolls for the same amount of time as the bread? Whenever I've baked them as rolls instead of bread, I generally take them out earlier -- I still look for when they're golden brown on top, but they're usually done by around 20 minutes in the oven if they are baking individually on a baking sheet, and maybe a few minutes longer (20-25 minutes) if baking them in a dish with the sides touching. For me, this has resulted in the same texture as the bread. I hope that helps!!
carmen April 25, 2015
Hi Cynthia, can I use cream with 10% M.F. instead of heavy whipping cream? And perhaps replace the whole milk with cream as well to make up for the fat lost from subbing the heavy whipping cream?