When I was little, my mom would make a 30-minute drive to buy fresh milk bread from a Japanese bakery for our family. I would toast it until a perfect golden brown and then slather it with butter before nibbling at it. It was the best.
…and then I mastered my own milk bread recipe. It may be a bit bold of me to say, but I think my milk bread is actually better than that of the Japanese bakery my family always went to. It’s incredibly soft and tears into wispy, buttery layers. Seriously, it’s so good that I’ll just eat it on its own, without jam or butter.




This is a special variation of my original milk bread recipe. It has a stunning chocolate-vanilla marbled look on the inside that will instantly catch the eye of anyone. Although it looks complicated, it’s actually more simple to make than you’d think. You’ll have to make my milk bread base and divide it in half before adding cocoa powder to one half. Then, when it’s time for shaping, you’ll roll out both the chocolate and regular dough and stack them on top of each other before rolling them up and then repeating the rolling process. I know, sounds like a lot of effort, but trust me, it’s all worth it for that stunning, first slice.
tips for success
- Plan ahead! – Making bread is a lengthy process, so I always make sure to choose a day where I have a large chunk of time to make it. It takes me about 4 hours in total to make (including proofing). Also, make sure to read the instructions beforehand as well so you know which ingredients need to be room temperature ahead of time.
- Weigh your ingredients – This will lead to more precise and accurate measurements.
- Pass the windowpane test – To test whether the dough has been kneaded long enough, use the windowpane test. The windowpane test is where you pinch off a small part of the dough and stretch it into a very thin ‘windowpane’. You should be able to see light through it, but if the dough breaks when you try to stretch it, then you still need to knead the dough for longer.
- For more chocolate flavor – This recipe makes a loaf that has very light chocolate notes, so if you want to amp up the chocolate flavor, I would recommend adding chocolate chips to the dough.
- Choosing the loaf pan – I used a pullman loaf pan for perfectly straight sides and a flat top (so basically perfectly square pieces). This is not required, so you can also just use a regular 9 by 5 inch loaf pan which will result in round tops.
Looking for something just a little more simple? Look no further than my original milk bread recipe! It will make you feel like a milk bread expert by the end of it!

chocolate marbled milk bread
makes one loaf
ingredients:
- for the tangzhong
- 3 tbsp (23 grams) bread flour
- 5 tbsp (74 grams) water
- 2 tbsp (30 grams) heavy cream
- for the dough
- 2 1/2 cup + 2 tbsp (315 grams) bread flour
- 1/4 cup + 3 tbsp (90 grams) whole milk, room temperature
- 1/4 cup (60 grams) heavy cream, room temperature
- 3 tbsp (40 grams) granulated sugar
- 1 egg white
- 1 tbsp (6 grams) nonfat dry milk powder
- 2 teaspoons instant yeast
- 1 teaspoon kosher salt
- 2 tbsp (28 grams) unsalted butter, (very) softened
- for the chocolate dough
- 1/4 cup (25 grams) dutch-processed cocoa powder, sifted
- 1 tbsp (14 grams) unsalted butter, (very) softened
- to finish
- 2 tbsp (28 grams) unsalted butter, for brown butter
- 1 egg, for egg wash (if not using a pullman loaf pan)
instructions:
- for the tangzhong: in a small saucepan, whisk the flour, water, and heavy cream together until smooth over medium-low heat. Keep whisking until it forms a sort of paste, almost resembling mashed potatoes, about 5 minutes. It is done once the whisk is forming streaks within the paste. Transfer to a small bowl and let cool, covered with plastic wrap directly touching the paste, to prevent a film from forming.
- for the dough: in the bowl of a stand mixer with the dough hook attachment, add the tangzhong and all of the dough ingredients, except for the butter and cocoa powder. Mix on medium-low speed until smooth, about 4-5 minutes. The dough will be sticking to the sides. Add the butter, and mix on medium-high speed for about 10 minutes. The dough should be ‘slapping’ the sides of the bowl and should pass the windowpane test (described in the ‘tips for success’ section above).
- Divide the dough into two halves, and transfer one half to a large bowl covered in plastic wrap. Add 1 tablespoon of butter and the cocoa powder to the dough half in the stand mixer, and mix on medium speed until smooth, about 3-4 minutes. Transfer to a large bowl, cover with plastic wrap, and let both doughs proof in a warm space for 1 hour, or until doubled in size.
- Lightly butter a 9 by 5 loaf pan. Set aside.
- In a small saucepan over medium-high heat, brown the butter. If you’ve never made brown butter before, here’s how: melt the butter over medium-high heat. Continuously stir the butter with a silicone spatula (this is key – just keep stirring so it doesn’t burn!). The butter will ‘sizzle’ and eventually foam. Keep stirring until you see several brown specks form in the butter (this takes a couple minutes). When the sizzling dies down, the butter is done. Pour the brown butter into a separate small bowl and let cool.
- Turn out both doughs onto a lightly floured surface, and divide each into 3 equal portions (so 6 total). Roll one normal milk bread portion into a long oval, and repeat with one chocolate milk bread portion. Place the chocolate portion on top of the normal portion, and roll it up lengthwise into a log. Repeat with the rest of the dough portions. Cover with plastic wrap, and let rest for 10 minutes. Roll each of the three portions again into a long oval. Brush the tops with the brown butter, fold the sides into the center, and roll it up lengthwise once again. Place the dough spirals next to each other in the prepared loaf pan. Brush the tops of the rolls with any extra brown butter. Cover with plastic wrap, and let proof in a warm space for 1 hour, or until doubled in size.
- Preheat the oven to 350°F. If using a pullman loaf pan, there is no need for an egg wash, so all you need to do is remove the plastic wrap, put the lid on, and bake for 30 minutes. If using a regular loaf pan, proceed with the following instructions: In a small bowl, beat the egg until smooth to make an egg wash. Uncover the dough, and brush the top with the egg wash. Bake for 30-35 minutes, until deep brown in color (the bread should rise quite a bit in the oven!). Take out of the loaf pan, and let cool for 10 minutes on a wire rack. Cut a slice, slather with butter, and enjoy a warm slice of milk bread!
Such a beautiful bread. Looks delicious!!!
I can’t get the marble look … mine look like a Swiss roll 😢 would be able to show pictures of that second roll step?