Quick Recipe Version (TL;DR)
Quick Ingredients
- Tangzhong: 25 g bread flour; 120 g whole milk
- Dough: 325 g bread flour; 50 g sugar; 6 g fine salt; 7 g instant yeast; 1 large egg (50 g); 100 g whole milk; 40 g very soft unsalted butter
- Egg Wash: 1 egg beaten with 1 tbsp milk
Do This
- 1. Cook tangzhong: whisk 25 g flour + 120 g milk in a small pan over medium heat until thick lines form, 2–3 minutes; cool 10 minutes.
- 2. Mix: combine 325 g flour, sugar, salt, yeast. Add egg, 100 g milk, and cooled tangzhong; mix to a shaggy dough, rest 10 minutes.
- 3. Knead: knead 8 minutes, then work in butter; knead 4–6 minutes more to a thin windowpane.
- 4. First rise: cover and proof until doubled, 60–90 minutes at warm room temp.
- 5. Shape: divide into 3 (about 240 g each), rest 10 minutes. Roll, letter-fold, and roll into tight cylinders; place seam‑down in a buttered 9×5‑inch loaf pan.
- 6. Second rise: proof until 1 inch above rim (or just below rim for lidded Pullman), 45–75 minutes. Brush with egg wash.
- 7. Bake at 350°F/175°C for about 32 minutes to 190°F/88°C internal; tent if browning early. De‑pan and cool at least 2 hours.
Why You’ll Love This Recipe
- Pillowy, cloudlike crumb thanks to the Japanese tangzhong method.
- Just-sweet-enough for toast, French toast, or delicate tea sandwiches.
- Foolproof shaping into three neat rolls for that classic shokupan look.
- Stays soft for days and slices beautifully without crumbling.
Grocery List
- Produce: None
- Dairy: Whole milk, unsalted butter, large eggs
- Pantry: Bread flour, granulated sugar, fine sea salt, instant yeast (or active dry yeast)
Full Ingredients
Tangzhong (Water Roux)
- 25 g bread flour (about 3 tbsp)
- 120 g whole milk (1/2 cup)
Dough
- 325 g bread flour (about 2 2/3 cups)
- 50 g granulated sugar (1/4 cup)
- 6 g fine sea salt (1 tsp)
- 7 g instant yeast (2 1/4 tsp)
- 1 large egg, room temperature (about 50 g without shell)
- 100 g whole milk, room temperature (scant 1/2 cup)
- 40 g unsalted butter, very soft (about 3 tbsp)
For the Pan and Finish
- Softened butter, for greasing the pan
- 1 egg beaten with 1 tbsp milk (egg wash; skip if baking with a Pullman lid)

Step-by-Step Instructions
Step 1: Make the tangzhong
In a small saucepan off heat, whisk 25 g bread flour and 120 g milk until smooth. Place over medium heat and cook, whisking constantly, until the mixture thickens to a pudding-like paste and you can see lines left by the whisk, 2 to 3 minutes. The paste should reach about 150°F/65°C. Scrape into a bowl and let cool 10 minutes until warm but not hot.
Step 2: Combine the dough
In the bowl of a stand mixer (or a large mixing bowl), whisk together 325 g bread flour, 50 g sugar, 6 g salt, and 7 g instant yeast. Add the cooled tangzhong, 1 egg, and 100 g milk. Mix with a dough hook on low (or with a sturdy spoon) until a shaggy dough forms, then cover and rest 10 minutes to hydrate. If using active dry yeast, dissolve it first in the 100 g milk warmed to 105–110°F/40–43°C for 5 minutes, then add as directed.
Step 3: Knead and add butter
Mix on medium-low until smooth, 7 to 8 minutes. With the mixer running, add the very soft butter in 3 additions, letting each portion incorporate before the next. Continue kneading 4 to 6 minutes more until the dough is very smooth, elastic, and passes a thin windowpane test without tearing. Ideal dough temperature after kneading: 77–82°F (25–28°C). Lightly grease a bowl, shape the dough into a ball, and place it seam-side down in the bowl.
Step 4: First rise
Cover and proof in a warm, draft-free spot until doubled in size, 60 to 90 minutes. If your kitchen is cool, place the bowl in a turned-off oven with the light on, or set over a bowl of warm water.
Step 5: Prepare the pan and shape
Butter a 9×5-inch loaf pan (23×13 cm) or a 9×4-inch Pullman pan. Turn the dough onto a lightly floured surface, gently degas, and divide into 3 equal pieces (about 240 g each). Shape each into a tight ball, cover, and rest 10 minutes. Working with one piece at a time, roll into a 6×9-inch rectangle. Fold the short sides toward the center like a letter (three layers), then roll up tightly from the short end into a cylinder, sealing the seam. Place seam-side down in the pan. Repeat with remaining pieces, arranging the three rolls side-by-side.
Step 6: Second rise
Cover and proof until the dough domes about 1 inch above the pan rim, 45 to 75 minutes (for a lidded Pullman, proof until the dough is 1/2 inch below the rim). Near the end of rising, preheat the oven to 350°F/175°C. For an uncovered loaf, gently brush the top with egg wash for a glossy finish.
Step 7: Bake and cool
Bake at 350°F/175°C until deeply golden and the center registers 190°F/88°C, about 30 to 35 minutes. If the top browns quickly, tent with foil at the 20-minute mark. For a Pullman with lid, bake 32 to 35 minutes with the lid on. Turn the loaf out onto a wire rack immediately and cool completely for at least 2 hours before slicing to set the ultra-soft crumb.
Pro Tips
- Weigh ingredients for best results; cups are approximate. Tangzhong gives you extra softness and forgiveness.
- Knead to a true windowpane. Under-kneaded dough will bake dense; properly developed dough shreds into feathery strands.
- Proof by look, not just time. Aim for nearly doubled in bulk (first rise) and 1 inch above the rim (second rise) for an open, cottony crumb.
- Check internal temp: 190°F/88°C is the sweet spot for fully baked, still-supple milk bread.
- For a squared shokupan shape, use a Pullman pan with lid and proof just below the rim; skip the egg wash.
Variations
- Honey Shokupan: Replace 20 g of the sugar with 20 g honey; warm the honey slightly so it dissolves easily.
- Whole Wheat Blend: Swap 70 g (about 1/2 cup) of the bread flour for finely milled whole wheat. Add 10 g extra milk if the dough feels stiff.
- Matcha Swirl: Sift 6 g matcha with the dry ingredients; after dividing, knead 1/2 tsp extra matcha into one portion for a subtle green swirl.
Storage & Make-Ahead
Store the cooled loaf in a breathable bag or bread box at room temperature for up to 3 days. For longer storage, slice and freeze in a zip-top bag for up to 2 months; thaw at room temperature or toast from frozen. Make-ahead options: after kneading, refrigerate the covered dough for 8 to 16 hours; bring to room temperature, then shape and continue. Or shape the loaf, cover the pan, and refrigerate 8 to 12 hours; proof at room temperature until 1 inch above the rim before baking.
Nutrition (per serving)
Approximate per slice (1/12 loaf): 165 calories; 27 g carbohydrates; 5 g protein; 4.5 g fat; 2.5 g saturated fat; 180 mg sodium; 6 g sugars.
