Soft & Delicious Japanese Milk Bread (Tangzhong)

Japanese Milk Bread is an incredibly soft, fluffy bread with a silky texture that pulls apart in feathery, cottony layers. It is perfect for sandwiches and toast. And because it is made with tangzhong (a slurry of milk and flour often used in soft Asian breads), it will stay soft and fluffy for days.

Japanese Milk Bread pulled apart

For some helpful tips before you begin, click here.(RECOMMENDED)

Makes 2 8×4-inch loaves (or 2 9x4x4-inch Pullman pans).



  • 3/4 cup (180 ml) water
  • 1/4 cup (32 g) bread flour


  • 1 cup (240 ml) half & half
  • 1/4 cup (50 g) sugar
  • 4 1/2 teaspoons (14 g or 2 packets) active dry yeast
  • 5 cups (650 g) bread flour
  • 1/3 cup (42 g) milk powder
  • 2 teaspoons (12 g) salt
  • large eggs, room temperature 
  • 1/4 cup (56 g) unsalted butter, softened

Optional: Egg wash:

  • egg yolk
  • 1 tablespoon (15 ml) water


1. Make the tangzhong.

– In a small pan, over medium heat, combine the water and the flour for the tangzhong.
– Whisk until thick like pudding, maybe 3 to 5 minutes.
– Pour into a small bowl and refrigerate to cool while gathering the remaining ingredients.

2. Activate the yeast.

– Warm the half & half to about 110°F (49°C). (Slightly warm to the touch.)
– Stir together the warm half & half, sugar and yeast.
– Let sit for 5 to 10 minutes, until foamy.

3. Combine the ingredients.

– In a stand mixer bowl, briefly stir together the 5 cups (650 g) flour, milk powder and salt to mix and to remove any large lumps.
– Add the eggs, the foamy yeast mixture and the cooled tangzhong.
– Stir with a wooden spoon until the flour has been incorporated and everything roughly comes together to form a shaggy dough.

4. Knead the dough. (See TIPS)

– Using a stand mixer, knead the dough with the hook attachment on low speed (setting #2) for about 30 seconds to a minute to bring the ingredients together.
– Increase to medium speed (setting #4) and knead for up to 10 minutes, until the dough is smooth, elastic and, pulling away from the sides of the bowl.

*Test if the dough has been kneaded enough by pulling on a bit of it and stretching it thin. If you can stretch the dough thin enough that light can shine through it without tearing, it has been kneaded enough. (See TIPS)

5. Knead in the butter.

– Add in the butter two tablespoons at a time and knead on low speed (setting #2), making sure each addition of butter is fully incorporated before adding the next.
– After all the butter is incorporated, increase speed to medium (setting #4) and knead for another 3 to 5 minutes or until the dough is smooth, glossy and elastic.

6. First Rise:

– Scrape the dough into a large, lightly greased bowl.
– With lightly greased fingers, gather up the dough by pulling up the sides and folding it into the center. Do this a few times to bring the dough together into a ball.
– Flip the dough, so that the top is smooth and greased.
– Cover the bowl with plastic wrap and let the dough rise for about 1 hour or until double in size.

  • You can also place the covered dough in the refrigerator and let rise overnight. You will need to punch it down at least once. After punching down, reshape the dough into a ball by pulling up the sides and folding it into the center. Flip the dough so that the top is smooth and greased.

7. Shape the dough. (See Tips)

– Grease two standard 8 × 4-inch loaf pans.
– Remove the dough out onto a lightly floured surface.
– Divide the dough into 6 equal parts (use a scale, if you have one) and shape each into a smooth ball.
– Cover the dough balls loosely with plastic wrap and let rest for about 10 minutes.
– Using a rolling pin, roll out a dough ball into an oval about 9-inches wide.
– Fold the sides into the middle resulting in 3 layers.
– Flatten the dough with the rolling pin and then roll the dough into a cylinder.
– Pinch the seams and place seam side down into one of the loaf pans..
– Repeat with the remaining five dough balls, placing three cylinders of dough per loaf pan.

8. Second Rise: (Preheat the oven to 350°F/176°C).

– Cover the pans loosely with lightly greased plastic wrap and let rise about 1 hour or until: (See TIPS)

  1. The top of the dough has risen about an inch over the top of the 8×4-inch loaf pan.
  2. The dough has risen three-quarters to the top of a 9x4x4-inch Pullman pan.
  3. If you lightly poke the bread, the indentation left by your finger should slowly bounce back half-way.

– Before the dough has risen to the top of the pan, start preheating the oven to 350°F (176°C). Assume the oven will take 20 to 30 minutes to preheat.

9. Bake the bread.

– Make sure your oven is preheated to 350°F (176°C).
– Beat together the egg yolk and water for the egg wash, if using.
– When the bread is ready to bake, lightly brush the surface of the bread with egg wash.
– Bake the bread for 25 to 30 minutes, until the bread is deep golden brown with an internal temperature of 190°F (88°C). (If the bread is browning too fast, just tent with foil.)

10. Cool the bread on a wire rack.

– Give the bread a good tap or two on the counter before removing the bread from the pan immediately onto a wire rack to cool. (Place a towel on the counter to protect it from the hot pan.)

Japanese mikk bread top view
Japanese Milk Bread is so light and soft.
Slices of Japanese Milk Bread
Japanese Milk Bread slices nicely.

About this recipe

Japanese Milk Bread is by far the favorite bread in our house. It is soft, airy and flavorful. It is ideal for sandwiches and makes perfect toast. What makes Japanese Milk Bread different from other sandwich bread is tangzhong.

Tangzhong is a portion of flour and milk or liquid from a bread recipe that is cooked into a gelatinous roux and then added into the dough. The result is a soft, moist bread with a prolonged shelf life.

I use tangzhong in my other bread recipes as well, such as in my Banh Mi (Vietnamese Baguettes), my Hotdog Buns and even in my Soft and Chewy Pita Bread.


Here are 5 helpful tips:

1) Starting the dough:

– A few points to make sure your dough turns our right every time:

Use a scale. (Or get one!)

  • While I sometimes find using volume measures more convenient, weight measures will give more accurate and consistent results. So if you bake regularly, you really should get a scale. (Preferably one that reads ounces and grams.)

Make sure to cool the tangzhong.

  • Be sure to give your tangzhong enough time to cool. If your tangzhong is still too hot when used, it may kill the yeast.

Don’t forget to soften the butter.

  • Butter will incorporate into the dough best when softened. Allow cold butter to sit out for at least 30 minutes to soften, or until you can press it with your finger and it will give beneath light pressure.
  • To speed up softening butter, I usually cut my cold butter into thin pats or small cubes. Then after a few minutes, I mash the butter with the flat side of a knife or the back of a spoon until it becomes smooth and spreadable.
softened butter

Make sure your yeast is active.

  • Yeast must be active for bread to rise. You know your yeast is alive and active if it becomes foamy when dissolved in warm milk or water with a little sugar mixed in.
  • Use warm milk between 100°F (38°C) and 110°F (49°C). If the yeast doesn’t become foamy within 5 to 10 minutes, throw it out and try again.
  • Do not leave your yeast for too long after it has been activated. If left too long, the yeast will not be as effective.

2) Kneading the dough.

– Proper kneading is necessary for bread dough to bake into the lightest, fluffiest, well-shaped loaves. So knead your dough until it is smooth and elastic.

  • The dough is ready when it is smooth and elastic enough to be stretched until light can shine through without tearing (the windowpane test).
windowpane test

If your dough didn’t pass the windowpane test:

– If you have kneaded for the allotted time but your dough is not passing the windowpane test, don’t stress:

  • Rest your dough for 10 minutes (and up to 30 minutes) then test again. (A little rest does amazing things for a dough’s smoothness and elasticity!)
  • If the dough is still not smooth and elastic, knead for 2 or 3 minutes and then re-test.
  • Repeat if needed. But if you start to feel the dough becoming firm and less stretchy, stop kneading or else you risk over-kneading your dough.
Kneading by hand:

– I think kneading dough for Japanese Milk Bread by hand can be tricky. It is soft, sticky and messy and takes more time and effort than kneading by machine. Especially when kneading in the butter. But if you don’t have access to a mixer or choose not to use one, here are some tips that may help:

  • Before kneading, cover your shaggy dough with plastic wrap and let sit for 20 to 30 minutes. This will give your kneading a really good kick-start!
  • Don’t use any extra flour. This will just weigh down your dough and make your bread heavy. Instead, lightly oil your counter and your hands.
  • Knead with a light, quick touch. Pressing and mashing just makes the dough stickier.
  • Use your pastry scraper often to keep your surface clean and smooth.

Feel free to take breaks.

– Bread dough continues to build structure (gluten) even while resting. Feel free to take short breaks while kneading. Be sure to cover your dough with plastic wrap to prevent it from drying out.

Kneading in the butter:

I am sure there are many ways to this. This is the way that works for me:
– Mash/poke about a third of the butter into the dough with your fingertips.
– Pull up the sides of the dough and fold over the butter, pressing firmly into the center with your fingertips or knuckles.
– Continue going round the dough pulling up the sides and folding/pressing into the center until the butter is fully incorporated before adding in the next bit of butter. Use a pastry scrape to bring back any butter oozing out onto the counter.
– After all the butter has been incorporated into the dough, knead for 5 to 8 minutes, until the dough is completely smooth.

  • This may take some time and will be messy at first. But be patient and continue to knead in the butter until the dough is smooth, homogeneous and glossy.
  • Incorporate the butter a bit at a time. This will not only be easier, it will actually take less time to get the job done than trying to knead in all the butter at once.

3) Shaping your dough:

  • Divide the dough into 6 equal portions.
  • Make each portion into a smooth ball.
  • Rest the dough ball for a few minutes and then roll out into an oval about 9 inches wide.
  • Fold the sides of the oval into the middle to get 3 layers and then flatten with the rolling pin.
  • Roll the dough up into a snug cylinder, pinch the seams and place into greased baking pans, seam-side down.
Japanese Milk Bread dough in the loaf pan

What is a Pullman loaf pan:

– A Pullman pan is a deep loaf pan that is usually used with a lid to create perfectly square loaves.

  • Pullman loaves have a thin crust and a soft, but slightly compacted interior for sturdier sandwiches.

4) When is the dough ready for baking?

  • The dough is ready for baking when you poke the dough, the indentation from your finger bounces back only half-way.
  • If using a 9x4x4-inch Pullman pan, the dough has risen three-quarters of the way to the top of the pan.
  • The dough has risen about an inch over the top of your 8×4-inch bread pan.

– This may take an hour or so. It may take longer if your dough was refrigerated or if your kitchen is cold.

5) Baking times vary. (Get an instant-read thermometer!)

– Ovens vary, so the baking times given are just estimates. It may take more or less time for your bread to finish baking.

instant-read thermometer

Instant-read thermometers are the most reliable way to check for doneness. Bread is done baking when the internal temperature reaches 190°F (88°C).

– When bread is done, the crust will look nice and evenly browned. It will also sound hollow when thumping the bottom of the loaf.

Side view of some Japanese Milk Bread
Japanese Milk Bread has a tender crust.

Back to the top


Soft and Fluffy Wool Roll Bread (Tangzhong)


Soft and Airy Pandesal (Tangzhong)

Click HERE for more BREAD recipes!


Leave a Reply

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