1 loaf (9×5-inch pan)
  • bread flour
  • whole milk lukewarm (45°C / 110°F)
  • active dry yeast (1 standard packet)
  • sugar
  • fine sea salt
  • unsalted butter, softened
  • egg, room temperature

Method

Activate yeast

  1. Combine lukewarm milk, sugar, and yeast in a large bowl. Stir and let sit 5–10 minutes until foamy. If it doesn’t foam, the yeast is dead, start over.

Mix and knead

  1. Add egg and softened butter to the yeast mixture. Stir to combine.
  2. Add flour and salt. Mix until a shaggy dough forms, then knead by hand for 10 minutes until smooth and slightly tacky, or in a stand mixer with a dough hook on medium-low for 8 minutes.
  3. The dough is ready when it passes the windowpane test: stretch a small piece thin enough to see light through without tearing.

First rise

  1. Shape dough into a ball and place in a lightly oiled bowl. Cover and rest in a warm spot (24–27°C / 75–80°F) until doubled, about 1–1.5 hours.

Shape

  1. Punch down dough to release gas. On an unfloured surface, flatten into a rectangle roughly as wide as your loaf pan.
  2. Roll tightly into a log. Pinch the seam closed. Place seam-side down in a greased 9×5-inch loaf pan.

Second rise

  1. Cover loosely and rest until the dough crowns 2–3cm above the pan rim, about 45–60 minutes.

Bake

  1. Preheat oven to 190°C / 375°F.
  2. Optional: brush top with egg wash (1 egg + 1 tbsp milk) for a glossy crust.
  3. Bake 28–32 minutes until deep golden brown. The internal temperature should read 93–96°C / 200–205°F.
  4. Turn out onto a wire rack and cool completely before slicing, at least 1 hour. Cutting too early compresses the crumb.

Notes

  • Milk temperature: Too hot kills the yeast; too cold and it won’t activate. Aim for 43–46°C (110–115°F).
  • Storage: Wrap in plastic and store at room temperature for 3 days, or slice and freeze for up to 3 months.
  • Enriched variants: Replace 60ml milk with heavy cream for a richer crumb. Add 1 tbsp honey instead of sugar for a mild sweetness.