Japanese Milk Bread (Shokupan) - The Softest Bread You'll Ever Make

This is the softest bread you’ll ever make at home,  and it’s all thanks to one extra step! Ever since I started making this Japanese milk bread, I’ve stopped buying it from the store. It’s that fluffy. 

The secret is a tangzhong: flour and milk cooked into a paste before it ever goes into the dough. It sounds fussy, but it’s five extra minutes that change the entire texture of the bread. Spend the extra time, you’ll thank me later!

I am making dinner rolls here but you can definitely make a regular loaf using the same recipe.

Heads up: This post contains affiliate links. That means I may earn a small commission if you buy through them — at no extra cost to you. Thanks for supporting Drew Eats!

What is shokupan?

Shokupan is Japanese milk bread. A soft, slightly sweet white loaf with a tight, fluffy crumb and a pull-apart texture that’s noticeably different from a regular sandwich loaf. It’s the bread you’ll find in Japanese bakeries and convenience stores, usually sliced thick and used for everything from toast to sandwiches to French toast.

What sets it apart from a standard milk bread isn’t really the ingredients, but it’s the tangzhong method, which is the part most people skip when they don’t know it exists!

shokupan japanese milk bread

Why tangzhong makes it so soft

A tangzhong (湯種) is just flour cooked with milk or water until it thickens into a paste. That’s it. But cooking the flour first changes how it behaves: it pre-gelatinizes the starch, which means it can hold far more liquid than raw flour can on its own. 

Practically, that means your dough ends up wetter and softer without becoming impossible to handle, and a wetter dough bakes into a softer, fluffier loaf that also stays fresh longer. This is the same reason store-bought milk bread stays soft for days after you buy it. Skip this step and you’ll still get bread, just not this bread. All the food-science apart, it just makes it really soft and delicious!

shokupan japanese milk bread tangzhong

Tips for the best shokupan

Weigh your ingredients if you can

  • A kitchen scale makes a bigger difference here than in most recipes, because how tightly flour gets packed into a measuring cup can be very different depending on how you scoop it. If you’re measuring by cup, spoon the flour into the cup gently and level it off rather than scooping directly from the bag, which packs in too much.

Use bread flour, not all-purpose.

  • Bread flour has more protein than all-purpose, which means it builds more gluten structure when kneaded. All-purpose will technically work in a pinch, but bread flour is what gets you the tall, pillowy texture shokupan is known for!

Cool the tangzhong before using it

  • Adding it hot will start cooking your yeast before it ever gets the chance to rise. Let it cool to room temperature first (about 20 minutes) I usually make it first and let it sit while I measure everything else.

Knead until it passes the windowpane test

  • Stretch a small piece of dough between your fingers, if you can see light through it without it tearing, it’s ready. This dough needs more kneading than a regular bread dough because of the added moisture, so don’t stop early just because it looks smooth.

Use room-temperature eggs and milk

  • Cold ingredients slow your yeast down right at the start, which throws off your rise times later

Don’t rush the first rise.

  • It should roughly double, this usually takes about an hour! However, it depends entirely on how warm your kitchen is. If your oven has a “proof” function, that works really well for this step. 

Cover it with foil if it’s browning too fast.

  • Milk bread has enough sugar and milk solids that the top can brown well before the inside is fully baked through. This is especially true if you are applying an egg wash before putting it in the oven.  If it’s getting dark in the first 15-20 minutes, loosely cover it and keep going.

Let it cool completely before slicing

  • I know it’s tempting straight out of the oven, but slicing it (or tearing it if you are making dinner rolls) warm presses the crumb down and makes it gummy. Give it about 30 minutes to rest
shokupan japanese milk bread

How to serve it

Thick-cut and toasted with butter and honey is the simplest way to eat it, and honestly still my favorite. It also makes excellent French toast! The soft, slightly sweet crumb soaks up custard better than a regular sandwich loaf. Check out my Hong Kong cafe style French toast as well. For something savory, it holds up well as a sandwich bread without getting soggy, even with wetter fillings like egg salad.

shokupan japanese milk bread

Storage

Room temperature:

  • Up to 3 days in an airtight bag or container it’ll start drying out faster than store-bought bread since there are no preservatives.

Freezer:

  • Freeze for up to 1 month.
shokupan japanese milk bread

Frequently Asked Questions

Why is my shokupan dense instead of fluffy?

  • Usually under-kneading is the cause, if your dough doesn’t pass the windowpane test, it hasn’t developed enough gluten to trap air properly. Under-proofing is the other common cause; if your first rise didn’t roughly double, give it more time.

Can I make this without a stand mixer?

  • Yes, it just takes longer by hand. The dough is sticky from the added moisture, so expect 20-30 minutes of hand-kneading to get the same windowpane result a mixer gets in less time.

Can I make shokupan without eggs?

  • Yes , you can leave the egg out and add a small amount of extra milk to compensate for the liquid. The crumb will be very slightly less rich, but still soft.

Can I freeze the dough instead of the baked bread?

  • It’s better to freeze the baked loaf, sliced. Frozen dough tends to lose some rise quality once thawed and re-proofed, which can affect the final texture.

Ingredients

Tang zhong

  • 3 tbsp (45 g) water
  • 3 tbsp (45 g) whole milk
  • 2 tbsp (15 g) bread flour

Dough 

  • 2 1/2 cups (300 g) bread flour
  • 2 tbsp (15 g) dry milk powder (optional, but highly recommended)
  • 1/4 cup (50 g) granulated sugar
  • 1 tsp (6 g) salt
  • 1 tbsp (10 g) instant yeast
  • 1/2 cup whole milk
  • 1 large egg
  • 4 tbsp (60 g) unsalted butter, melted
  • All of the tangzhong (above)
  • 1 egg or a splash of milk, for brushing on top before baking

Step by step instructions

1. Make the tangzhong.

Whisk the water, milk, and bread flour together in a small saucepan until smooth. Place over low heat and cook, whisking the whole time, until it thickens into a paste thick enough that the whisk leaves visible lines on the bottom of the pan,  about 4-5 minutes. Scrape it into a bowl and let it cool to room temperature before moving on, about 30 minutes.

2. Mix the dough.

While the tangzhong is cooling, combine all the other ingredients including the bread flour, dry milk powder, sugar, salt, yeast, milk and egg. Then add tang zhong once it is fully cooled. Mix by hand until it forms roughly into a dough ball, then move it to a floured surface.

3. Knead until it passes the windowpane test.

This dough needs more kneading than a typical loaf because of the extra moisture from the tangzhong. If it is too sticky to knead, stretch the dough out and fold repeatedly. Dropping the dough onto the surface and pounding will also help. Half way through, add your butter and continue. Keep going until you can stretch a small piece thin enough to see light through without it tearing. If kneading by hand, this process may take up to 30 minutes. 

4. First rise

Shape the dough into a ball, place it in a lightly greased, covered bowl, and let it rest for 60 minutes in a warm environment. If your oven has a proofing function, leave it it in as this works best. . It should look puffy,  it doesn’t need to fully double.

5. Shaping the dough

Gently deflate the dough and divide it into 8 equal pieces. Flatten each piece. and fold the ends in toward the center, then roll into a ball. Arrange the 8 dough balls side by side in a circular cake pan. 

6. Second rise.

Cover loosely and let the loaf rest for 40-50 minutes, until puffy and close to the rim of the pan.

7. Bake.

Preheat the oven to 350°F. Brush the top with milk or an egg wash (1 egg beaten with 1 tablespoon cold water), then bake for about 30 minutes, until deeply golden on top. A thermometer inserted into the center should read at least 190°F.

8. Cool

Let the bread cool in the pan for about 30 minutes, then turn it out onto a wire rack and let it cool completely. Enjoy!

Japanese Milk Bread (Shokupan)

This Japanese milk bread is so soft I stopped buying it from the store. One extra step — tangzhong — makes all the difference."
Course Breakfast
Cuisine Asian
Prep Time 3 hours
Cook Time 30 minutes
Servings 4
Cost $5

Ingredients

Tang zhong

  • 3 tbsp (45 g) water
  • 3 tbsp (45 g) whole milk
  • 2 tbsp (15 g) bread flour

Dough

  • 2 1/2 cups (300 g) bread flour
  • 2 tbsp (15 g) dry milk powder (optional, but highly recommended)
  • 1/4 cup (50 g) granulated sugar
  • 1 tsp (6 g) salt
  • 1 tbsp (10 g) instant yeast
  • 1/2 cup whole milk
  • 1 large egg
  • 4 tbsp (60 g) unsalted butter, melted
  • 1 egg or a splash of milk for brushing on top before baking

Instructions

Make the tangzhong.

  • Whisk the water, milk, and bread flour together in a small saucepan until smooth. Place over low heat and cook, whisking the whole time, until it thickens into a paste thick enough that the whisk leaves visible lines on the bottom of the pan,  about 4-5 minutes. Scrape it into a bowl and let it cool to room temperature before moving on, about 30 minutes.
    shokupan japanese milk bread tangzhong

Mix the dough.

  • While the tangzhong is cooling, combine all the other ingredients including the bread flour, dry milk powder, sugar, salt, yeast, milk and egg. Then add tang zhong once it is fully cooled. Mix by hand until it forms roughly into a dough ball, then move it to a floured surface.

Knead until it passes the windowpane test.

  • This dough needs more kneading than a typical loaf because of the extra moisture from the tangzhong. If it is too sticky to knead, stretch the dough out and fold repeatedly. Dropping the dough onto the surface and pounding will also help. Half way through, add your butter and continue. Keep going until you can stretch a small piece thin enough to see light through without it tearing. If kneading by hand, this process may take up to 30 minutes.

First rise

  • Shape the dough into a ball, place it in a lightly greased, covered bowl, and let it rest for 60 minutes in a warm environment. If your oven has a proofing function, leave it it in as this works best. . It should look puffy,  it doesn't need to fully double.

Shaping the dough

  • Gently deflate the dough and divide it into 8 equal pieces. Flatten each piece. and fold the ends in toward the center, then roll into a ball. Arrange the 8 dough balls side by side in a circular cake pan. 

Second rise.

  • Cover loosely and let the loaf rest for 40-50 minutes, until puffy and close to the rim of the pan.
    shokupan japanese milk bread

Bake.

  • Preheat the oven to 350°F. Brush the top with milk or an egg wash (1 egg beaten with 1 tablespoon cold water), then bake for about 30 minutes, until deeply golden on top. A thermometer inserted into the center should read at least 190°F.

Cool

  • Let the bread cool in the pan for about 30 minutes, then turn it out onto a wire rack and let it cool completely. Enjoy!
    shokupan japanese milk bread

Leave a Comment

Your email address will not be published. Required fields are marked *

Recipe Rating