Ingredients
For the Poolish (Make the Night Before)
- 1 cup all-purpose flour
- 3/4 cup whole milk, lukewarm
- 1/4 teaspoon instant yeast
For the Dough
- All of the poolish
- 2 1/2 to 3 cups bread flour
- 1/2 cup whole milk, lukewarm
- 2 1/4 teaspoons (1 packet) instant yeast
- 2 teaspoons Diamond Crystal kosher salt
- 3 tablespoons granulated sugar
- 1 large egg
- 4 tablespoons unsalted butter, softened
For the Egg Wash (Optional)
- 1 large egg, beaten with 1 tablespoon milk
Make the Poolish the Night Before
In a medium bowl, stir together the all-purpose flour, lukewarm milk, and 1/4 teaspoon of yeast until no dry flour remains. Cover the bowl with plastic wrap and let it sit at room temperature for at least 8 hours, or up to 12. The poolish is ready when it is bubbly, domed, and has a sweet, yeasty aroma.
Mix and Knead the Dough
In the bowl of a stand mixer, combine the finished poolish, 2 1/2 cups of the bread flour, the lukewarm milk, the remaining 2 1/4 teaspoons of yeast, the salt, and the sugar.
Using the dough hook, mix on low speed until a shaggy dough forms. Add the egg and the softened butter, one tablespoon at a time. Continue to knead on medium-low speed for ~10-15 minutes.
The dough will be very sticky at first. If it is still sticking excessively to the sides of the bowl after 10 minutes, add the remaining 1/2 cup of flour, one tablespoon at a time. The final dough should be smooth, elastic, and tacky, but not unmanageably sticky.
First Rise
Form the dough into a ball and place it in a lightly oiled bowl, turning to coat. Cover tightly with plastic wrap and let it rise in a warm place for 1 to 1.5 hours, or until it has doubled in size.
Shape and Second Rise
Gently deflate the risen dough and turn it out onto a lightly floured surface. Press it into a rectangle and roll it up into a tight log. Place the log seam-side down in a greased 9×5-inch loaf pan.
Cover the pan loosely with greased plastic wrap and let it rise for another 1 to 1.5 hours, until the dough has crowned about 1 inch above the rim of the pan.
Bake with Steam
About 30 minutes before the second rise is complete, preheat your oven to 375F. Place a metal pan on the bottom rack of the oven.
When the loaf is ready to bake, brush the top with the optional egg wash. Place the loaf pan in the oven and carefully pour 1 cup of hot water into the pan on the bottom rack to create steam.
Bake for 35-45 minutes, until the crust is a deep golden brown and an instant-read thermometer registers 190F in the center. Let the bread cool in the pan for 10 minutes before turning it out onto a wire rack to cool completely.

Basic Milk Bread
Ingredients
For the Poolish (Make the Night Before)
- 1 cup all-purpose flour
- 3/4 cup whole milk lukewarm
- 1/4 teaspoon instant yeast
For the Dough
- All of the poolish
- 2 1/2 to 3 cups bread flour
- 1/2 cup whole milk lukewarm
- 2 1/4 teaspoons 1 packet instant yeast
- 2 teaspoons Diamond Crystal kosher salt
- 3 tablespoons granulated sugar
- 1 large egg
- 4 tablespoons unsalted butter softened
For the Egg Wash
- 1 large egg beaten with 1 tablespoon milk
Instructions
- The night before, mix the flour, lukewarm milk, and yeast for the poolish until smooth. Cover with plastic wrap and let rest 8-12 hours at room temperature.
- Add the poolish, bread flour, milk, yeast, salt, and sugar to a stand mixer bowl.
- Mix with the dough hook on low until shaggy, then add the egg and softened butter one tablespoon at a time.
- Knead on medium-low for 10-15 minutes until smooth and elastic. Add remaining flour if needed.
- Form into a ball and place in an oiled bowl. Cover and let rise 1-1.5 hours until doubled.
- Deflate the dough and roll into a tight log. Place seam-side down in a greased 9×5 loaf pan.
- Cover and let rise 1-1.5 hours until crowned 1 inch above the pan rim.
- Place a metal pan on the bottom rack and preheat the oven to 375F.
- Brush the loaf with egg wash if desired. Add the loaf to the oven and pour 1 cup hot water in the bottom pan.
- Bake 35-45 minutes until deep golden and internal temperature reaches 190F.
- Cool in the pan for 10 minutes, then remove to a wire rack to cool completely.