Shokupan (Japanese Milk Bread)

Bread · Gifts from the Kitchen · Vegetarian · Nut-Free · Egg-Free · Time: 3 hr · Servings: 10 · Difficulty: Medium

I still remember the very first bite of shokupan I had in Tokyo. It wasn't from a famous bakery or a trendy café, but from a small shop inside a JR station while travelling between destinations. It was a simple tamago sando (Japanese egg sandwich), yet the bread completely stole the show. It was pillowy soft with a delicate texture unlike any sandwich bread I had tasted before. That humble sandwich became one of my earliest and fondest food memories from Japan.

Years later, I was back in Tokyo for a business trip when a February snowstorm unexpectedly kept me at AEON's head office in Nishi-Shinjuku longer than planned. After our meeting, my clients invited me to wait it out in the employee lounge. Over coffee and conversation, they asked me what my favourite Japanese food was.

Without hesitation, I replied, "Tamago sando."

They laughed, a little surprised by my answer. I explained that it wasn't because I have a particularly simple palate, but because the bread itself is completely addictive. The soft, pillowy shokupan had left such an impression on me that I still remembered that humble sandwich years later.

They nodded in understanding and began sharing why Japanese milk bread is so exceptionally soft and fluffy. Beyond the care and discipline that Japanese bakers bring to their craft, they spoke about techniques such as yudane and tangzhong, methods used to create the tender, cloud-like texture that makes shokupan so memorable.

Ever since then, I've wanted to recreate that same softness at home. While many traditional shokupan recipes include eggs, I've kept this version simpler and more budget-friendly. There are no eggs in the dough, yet it still bakes up wonderfully soft and fluffy.

Like many modern shokupan recipes, this loaf uses the tangzhong method, a simple flour-and-water roux that creates an incredibly light, tender crumb while helping the bread stay fresh for longer. I developed this recipe specifically for my 196 × 106 × 110 mm Pullman tin, creating a taller loaf with plenty of slices to enjoy for nearly the same amount of effort. The result is a soft, cloud-like milk bread that's perfect for toast, sandwiches, or simply tearing into while still warm.

🌾 What Is Tangzhong—and Why It Makes Shokupan So Good

Tangzhong is a simple flour-and-water paste that’s gently cooked on the stove until thickened—almost like a roux, but without any fat. The technique is closely related to yudane, a traditional Japanese method where boiling water is poured over flour to gelatinize the starches.

What makes tangzhong special is how it changes the flour: cooking it causes the starches to swell and gelatinize, allowing the flour to absorb much more liquid than it normally would. That moisture gets locked in—even through kneading, proofing, and baking.

Once incorporated into the dough, tangzhong transforms the texture:

This extra hydration is especially helpful in enriched breads like shokupan, which contain sugar, butter, and milk powder—ingredients that can slow down yeast activity and weaken gluten. Tangzhong helps balance everything out, supporting structure and softness at the same time.

Why I Make Tangzhong a Day Ahead

I like to prepare the tangzhong the night before—it cools completely and has time to fully hydrate, which makes it easier to mix evenly into the dough.

Giving the paste time to rest allows the gelatinized starches to fully absorb water and stabilize, resulting in a smoother mixture that improves dough structure and elasticity. It also makes the kneading process more consistent and helps create a softer, more even crumb.

Plus, prepping it ahead simply makes for a calmer baking day.

Why These Ingredients Matter

Shokupan may use simple pantry staples, but each ingredient has a specific role in creating its signature light, fluffy, cloud-like texture.

Bread flour builds the strong gluten structure needed for a tall, airy loaf with that soft, stretchy bite. Tangzhong is what gives shokupan its unique moisture retention, helping the bread stay soft for days rather than drying out quickly. Milk powder adds gentle richness and tenderness, enhancing the overall softness of the crumb without weighing the dough down. Butter brings everything together with a delicate richness and helps create that soft, pull-apart texture.

Together, these ingredients work in balance to create the signature pillowy texture that makes shokupan so special.

Milk Wash vs Egg Wash

A simple wash before baking can completely change the look and finish of your shokupan crust. Brushing the dough lightly with milk creates a soft golden colour with a thinner, more tender crust and a gentle satin finish—perfect for a classic Japanese bakery-style loaf.

For a deeper golden-brown top with more shine and gloss, use an egg wash instead (1 egg whisked with 1 tsp milk). This gives the loaf a slightly richer and more polished bakery-style appearance.

Ingredients

For the Tangzhong (Make Ahead)

Directions

  1. Make the Tangzhong (Make Ahead) In a small saucepan, whisk together the bread flour and water for the tangzhong. Set over medium heat and cook, stirring constantly, for about 3 minutes, or until it thickens into a smooth, pudding-like paste (it should resemble soft mashed potatoes). Transfer to a bowl, press plastic wrap directly onto the surface, and let cool completely. 🕒 Tip: Tangzhong can be made ahead and stored in the fridge for up to 2 days. Just bring it back to room temperature before using.
  2. Activate the Yeast In a large bowl, combine the warm water, sugar and instant yeast. Whisk well and let sit for 10 minutes until foamy on the surface.
  3. Prepare Dry Ingredients In the bowl of your stand mixer, whisk together the bread flour, milk powder and salt. Make a well in the center.
  4. Mix the Dough Whisk the cooled tangzhong into the yeast mixture. Pour the liquid mixture into the flour bowl and mix with the dough hook on Speed 2 for 3 minutes, until a shaggy dough forms.
  5. Knead and Add Butter Increase to Speed 4 and knead for 5 minutes, until the dough begins to smooth out. Add the softened butter (37 g), one piece at a time, while kneading on Speed 2. Once fully incorporated, increase to Speed 4 and knead for another 4 minutes. At this point, your KitchenAid mixer may be warm—pause for 2 minutes to let it rest. Finish with a final knead on Speed 6 for 5 minutes, or until the dough is smooth, elastic, and pulls cleanly from the sides of the bowl. ✅ Windowpane test: Stretch a piece of dough gently—if it becomes thin and translucent without tearing, it's ready. If it tears, knead for 2 more minutes and retest.
  6. Bulk Fermentation Shape the dough into a ball and place in a lightly oiled bowl. Cover and proof in a warm spot for about 60 minutes, or until tripled in size. 👆🏼 Finger test: Gently poke the dough—if the dent stays, it’s ready.
  7. Shaping & Final Proof Deflate the dough gently and divide it into 4 equal pieces (about 234g each). Shape into logs or smooth rounds and place seam-side down in a greased Pullman pan. Cover and let rise for 45–60 minutes, or until the dough reaches 80–90% of the pan's height.
  8. Bake Preheat the oven to 180°C (top and bottom heat). For a softer golden crust, lightly brush the top of the dough with milk before baking. For a shinier, deeper golden finish, lightly brush with egg wash instead. Bake uncovered for 35–40 minutes, or until the loaf is deeply golden and sounds hollow when tapped on the bottom. If the top browns too quickly, loosely tent with foil during the last 10 minutes of baking. Let the loaf cool in the pan for 10 minutes before transferring to a wire rack to cool completely.

Related recipes