This Japanese milk bread recipe turns out impossibly soft, pillowy shokupan every single time, thanks to a simple tangzhong trick anyone can pull off at home.
Okay, real talk: the first time I pulled a loaf of Japanese milk bread out of the oven, I basically danced around my kitchen. My grandma used to say the best bread “hugs you back” when you squeeze it, and this one does exactly that.
I’d made regular sandwich bread a hundred times before, but nothing prepared me for how ridiculously soft and cloud-like shokupan turns out. One bite and you’ll get why bakeries in Japan sell out of this stuff by 9 a.m.
Table of Contents
Quick Overview: Why You’ll Love This Japanese Milk Bread
This shokupan recipe gives you a loaf that’s soft enough to squish like a marshmallow but sturdy enough to hold up a thick swipe of butter. It’s got just a whisper of sweetness, a milky richness, and that signature pull-apart texture that makes toast feel fancy.
The secret weapon here is tangzhong, a cooked flour-and-liquid paste that locks in moisture so your bread stays soft for days instead of going stale by tomorrow morning. If you’ve ever wondered why bakery bread tastes so much better than homemade, this is basically the answer.
No bread machine, no fancy equipment, just a stand mixer (or strong arms) and a little patience while the dough rises.

Japanese Milk Bread
Ingredients
- 60 ml water 1/4 cup
- 60 ml milk 1/4 cup
- 23 g bread flour about 2 tablespoons
- all tangzhong cooled to room temperature
- 120 ml milk 1/2 cup, lukewarm
- 7 g active dry yeast about 2 to 2 1/4 teaspoons
- 50 g sugar 1/4 cup, divided for blooming yeast and dough
- 15 g dry milk powder about 2 tablespoons; adds milky richness
- 1 large egg
- 350 g bread flour about 2 2/3 cups, spooned and leveled
- 1 teaspoon sea salt
- 58 g unsalted butter 4 tablespoons or 1/2 stick, softened
- as needed butter for greasing loaf pan
- as needed flour for dusting loaf pan
- as needed milk or egg wash milk gives a soft matte crust; egg wash gives a glossy finish
Instructions
- Whisk the water and bread flour together in a small saucepan until completely smooth with no lumps.
- Add the milk and whisk again to combine.
- Place the saucepan over medium heat and whisk constantly for a few minutes, until the mixture thickens into a pudding-like paste.
- Scrape the tangzhong into a bowl, press plastic wrap directly onto the surface, and let it cool to room temperature.
- In the bowl of a stand mixer, stir about 1 teaspoon of the sugar into the lukewarm milk.
- Sprinkle the active dry yeast over the milk, stir gently, and let sit for 10 to 20 minutes until bubbly and foamy.
- Add the dry milk powder, remaining sugar, cooled tangzhong, egg, bread flour, and sea salt to the yeast mixture.
- Mix with a spatula until the ingredients come together into a shaggy dough.
- Attach the dough hook and knead on low speed, about speed 2 or 3, for 5 minutes.
- Add the softened butter in 3 to 4 additions, mixing about 20 seconds between each addition and scraping down the bowl as needed.
- Once all the butter is incorporated, increase the mixer speed to medium, about speed 4 or 5, and knead for another 5 to 7 minutes, until the dough is smooth, satiny, and pulls away from the bowl.
- Shape the dough into a ball, place it back in the bowl, and cover with plastic wrap.
- Let the dough rise in a warm spot for 1 to 2 hours, or until doubled in size.
- For easier handling or deeper flavor, chill the risen dough for a few hours or refrigerate it for a slow 12-hour proof overnight before shaping.
- Butter and flour a 4.5×8.5-inch loaf pan.
- Turn the dough out onto a lightly floured surface and gently press out the air bubbles.
- Weigh the dough and divide it into 4 equal pieces.
- Roll each piece into a roughly 6-inch square, fold the opposite corners toward the center, then roll it up firmly starting from the pointed end.
- Tuck the pointed edge in and pinch the seam closed.
- Place each roll into the prepared loaf pan seam-side down.
- Cover the pan and let the dough proof in a warm spot for 1 to 2 hours, until it rises just below the top edge of the pan.
- Preheat the oven to 350°F (180°C).
- Brush the top of the proofed dough with milk for a soft matte crust or egg wash for a glossy finish.
- Bake for 30 to 35 minutes, tenting loosely with foil if the top browns too quickly.
- The bread is done when the internal temperature reaches 190°F to 205°F.
- Let the bread cool in the pan for a few minutes, then turn it out onto a wire rack.
- Cool to room temperature before slicing for the cleanest slices, or serve warm with butter.
- To make rolls instead of a loaf, divide the dough into 9 equal pieces, roll each into a smooth ball, and place in a buttered 8- or 9-inch square pan.
- Proof until doubled, then bake at 350°F for 20 to 30 minutes.
Notes
Ingredients You’ll Need

For the Tangzhong (the soft-bread secret)
| Ingredient | Amount |
|---|---|
| Water | 60 mL (¼ cup) |
| Milk | 60 mL (¼ cup) |
| Bread flour | 23 g (2 tbsp) |
For the Japanese Milk Bread Dough
| Ingredient | Amount |
|---|---|
| Tangzhong | All of it, room temperature (above) |
| Milk, lukewarm | 120 mL (½ cup) |
| Active dry yeast | 7 g (2 – 2¼ tsp) |
| Sugar | 50 g (¼ cup) |
| Dry milk powder | 15 g (2 tbsp) |
| Egg | 1 large |
| Bread flour | 350 g (about 2⅔ cups, spoon and leveled) |
| Sea salt | 1 tsp |
| Unsalted butter, softened | 58 g (4 tbsp / ½ stick) |
Quick note on the dry milk powder: it’s not just for flavor. It boosts that classic milky richness that makes Japanese milk bread taste so different from a regular loaf, so don’t skip it if you can help it.
Step-by-Step Instructions

Step 1: Make the Tangzhong
Whisk the water and bread flour together in a small saucepan until totally smooth, no lumps allowed. Pour in the rest of the milk and whisk again to combine.
Set the pan over medium heat and whisk constantly. This part moves fast, so don’t wander off. In just a couple of minutes it’ll thicken into something that looks like warm pudding.
Scrape it into a bowl and press plastic wrap directly onto the surface (this stops that weird skin from forming). Let it cool to room temperature while you get everything else ready.
According to King Arthur Baking’s breakdown of the tangzhong method, this quick cooking step is what pre-gelatinizes the starch and helps your bread stay soft for days.
Step 2: Wake Up the Yeast
In your mixer bowl, stir about a teaspoon of sugar into the lukewarm milk, then sprinkle the yeast on top. Give it a gentle stir and let it sit for 10 to 20 minutes.
You’re looking for a bubbly, foamy top. If nothing’s happening after 20 minutes, your yeast might be tired (or dead), and it’s better to start fresh than bake a brick.
Step 3: Build the Dough
Add the milk powder, remaining sugar, cooled tangzhong, egg, flour, and salt to the yeast mixture. Mix with a spatula first just to bring it together into a shaggy, messy dough.
Attach the dough hook and knead on low (speed 2 or 3) for about 5 minutes. Fair warning: it’ll look like a sticky disaster at first. Stick with it, it comes together, I promise.
Add the softened butter in 3 to 4 additions, mixing about 20 seconds between each and scraping down the bowl as you go. Once it’s all incorporated, bump the speed up to medium (4 to 5) and knead another 5 to 7 minutes.
You’ll know it’s ready when the dough turns smooth and satiny and starts pulling cleanly away from the bowl. Shape it into a ball, plop it back in the bowl, and cover with plastic wrap.
Step 4: Let It Rise
Find a warm, cozy spot in your kitchen and let the dough double in size, which usually takes 1 to 2 hours depending on how warm your house is.
From here you’ve got options. You can shape it right away, chill it in the fridge for a couple hours to make handling easier (totally optional), or pop it in the fridge for a slow 12-hour proof overnight. All three work great.
Step 5: Shape Your Loaf
Butter and flour a 4.5 x 8.5 inch loaf pan (or an 8 or 9 inch square pan if you’re making rolls instead). Turn the dough out and press out the air bubbles.
Weigh the dough and divide it into 4 equal pieces. Roll each piece into a roughly six-inch square, fold the opposite corners in toward the center, then roll it up firmly starting from the pointed end.
Tuck the pointed edge in and pinch the seam shut. Nestle each roll into the pan seam-side down, you’ll fit 4 per loaf pan.
Cover and let it proof again in a warm spot for 1 to 2 hours, until the dough rises just below the top edge of the pan. This second rise is what gives shokupan that signature domed top.
Making Rolls Instead of a Loaf
Want dinner rolls instead? Divide the dough into 9 equal pieces, roll each into a smooth ball, and space them out in your square pan with a little breathing room between each one.
Cover and let them proof until doubled, about 1 to 2 hours. Same soft, pillowy magic, just in bite-sized form.
Step 6: Bake It
Preheat your oven to 350°F (180°C). Once the dough is proofed, brush the top with milk (for a soft, matte crust) or egg wash (for that glossy bakery shine).
Bake the loaf for 30 to 35 minutes, or rolls for 20 to 30 minutes. If the top is browning too fast, tent it loosely with foil so it doesn’t scorch before the inside is done.
If you’ve got a thermometer, you’re aiming for an internal temp of 190 to 205°F (88 to 96°C). Let it cool in the pan for a few minutes, then turn it out onto a wire rack.
It’s easier to slice once it’s cooled to room temperature, but nobody’s judging you for tearing into a warm slice with butter melting all over it.

Expert Tips, Variations, and Troubleshooting
Tips for the Softest Shokupan
Weigh your ingredients if you can, especially the flour. Bread flour packed into a measuring cup can throw off your hydration and leave you with a denser loaf than you wanted.
Don’t rush the kneading. The dough needs that full stretch time to develop enough gluten to trap all those air bubbles that make Japanese milk bread so light.
Fun Variations to Try
Swap in coconut milk for regular milk for a subtle tropical twist, or add a teaspoon of matcha powder to the dough for a gorgeous green-tinted loaf. You can also brush the baked bread with a little honey butter right out of the oven for extra shine and sweetness.
If you’re a fan of soft, rich bakes like this one, you’ll probably love my 4-ingredient yogurt cake too, it’s got that same simple, cozy vibe.
Troubleshooting Common Issues
Dense, heavy loaf? Your yeast was probably weak, or the dough didn’t get enough time to rise. Warm spots (like inside an oven with just the light on) work wonders.
Bread deflated after baking? That’s usually over-proofing. Next time, pull it out a touch earlier, right when it’s just below the top of the pan.
Storage, Reheating, and No-Waste Ideas
| Method | How Long | How To Store |
|---|---|---|
| Room temperature | 2 – 3 days | Wrap tightly in plastic or a bread bag, keep away from direct sunlight |
| Refrigerator | Up to 1 week | Wrap well; note that fridge storage can dry bread out faster |
| Freezer | Up to 2 months | Slice first, then freeze in a zip-top bag with air pressed out |
To reheat, pop a slice in the toaster straight from frozen, or wrap the whole loaf in foil and warm it in a 300°F oven for about 10 minutes. It’ll taste freshly baked again.
Got a few stale slices left? Don’t toss them. Cube them up for the coziest French toast of your life, or turn them into breadcrumbs for coating chicken cutlets.
Frequently Asked Questions
Can I make Japanese milk bread ahead of time?
Yes! You can slow-proof the dough in the fridge overnight, then shape and bake it the next day. You can also bake the loaf a day ahead and store it well-wrapped at room temperature.
Can I freeze this shokupan?
Absolutely. Slice the cooled loaf, freeze it in a zip-top bag with the air pressed out, and toast straight from frozen whenever you want a slice.
Why did my bread turn out dense instead of fluffy?
This usually means the yeast wasn’t active enough or the dough didn’t get a full rise in a warm spot. Double-check your yeast is fresh and give the dough plenty of time to double in size.
Can I use all-purpose flour instead of bread flour?
You can, but the loaf won’t be quite as tall or chewy since bread flour has more protein for structure. Bread flour is worth seeking out if you want that classic shokupan pull-apart texture.
What’s the difference between tangzhong and yudane?
Both are pre-cooked flour pastes that soften bread, but tangzhong is cooked on the stovetop while yudane uses boiling water poured directly over flour. They achieve a similar soft, moist result.
Conclusion
Japanese milk bread might look fancy, but honestly, it’s just a little patience and a lot of soft, pillowy payoff. Once you taste that first warm, buttery slice, regular sandwich bread just won’t cut it anymore.
Shokupan has been winning hearts for over a century, and once you make a loaf with your own hands, you’ll totally get why, as this deep dive into the history of Japanese milk bread makes clear.
If you’re on a cozy baking kick, you might also love my heaven on earth cake or my berry chantilly cake recipe, both are total crowd-pleasers.
Give this recipe a try, and if you love it as much as I do, pin it on Pinterest so you don’t lose it, and drop a comment below to let me know how your loaf turned out. I read every single one.