This whole wheat sandwich bread uses just 8 ingredients to deliver a soft yet hearty loaf that outperforms store-bought versions. You can make it 100% whole wheat or blend in bread flour for a taller, fluffier crumb.
*Service fees apply. Instacart® and the Instacart logo are registered trademarks of Maplebear Inc. d/b/a Instacart.
Instructions
1
In a large bowl or the bowl of your stand mixer, whisk the water, whole milk, and yeast together. Add the 2 cups (260g) flour and stir with a spatula or wooden spoon until a thick batter forms. Cover lightly and allow to double in size at room temperature, about 60–90 minutes. Sometimes this can take up to 2 hours. *I do not recommend a hand mixer for this dough because the dough is too thick and heavy.*
2
Add the remaining dough ingredients including the honey, butter, lemon juice, remaining flour, and the salt. With a dough hook attachment, or using a spatula or wooden spoon (and some arm muscle!), beat on medium speed/mix until the dough comes together and pulls away from the sides of the bowl, about 3 minutes. If the dough seems too wet to a point where kneading (next step) would be impossible, beat in more flour 1 Tablespoon at a time until you have a workable dough, similar to the photos above. Dough should be soft and a little sticky, but still manageable to knead with lightly floured hands.
3
Keep the dough in the mixer and beat for an additional 8–10 full minutes, or knead by hand on a lightly floured surface for 8–10 full minutes. (If you’re new to bread-baking, my How to Knead Dough video tutorial can help here.) If the dough becomes too sticky during the kneading process, add 1 more Tablespoon of flour at a time to make a soft, slightly tacky dough. Do not add more flour than you need; you do not want a dry dough. After kneading, the dough should still feel a little soft. Poke it with your finger—if it slowly bounces back, your dough is ready to rise.
4
Lightly grease a large bowl with oil or nonstick spray. Place the dough in the bowl, turning it to coat all sides in the oil. Cover the bowl and allow the dough to rise in a relatively warm environment for 1.5–2 hours or until about double in size. (For a tiny reduction in rise time, see my answer to Where Should Dough Rise? in my Baking With Yeast Guide.)
5
Grease a 9×5-inch loaf pan.
6
When the dough is ready, punch it down to release the air. Lightly flour a work surface, your hands, and a rolling pin. Roll the dough out into a large rectangle, about 8×15 inches. It does not have to be perfect—in fact, it will probably be rounded on the edges. That’s ok! Roll it up into an 8-inch log and place in the prepared loaf pan.
7
Cover shaped loaf. Allow to rise until it’s about 1 inch above the top of the loaf pan, about 45–60 minutes.
8
Adjust oven rack to a lower position and preheat oven to 350°F (177°C). It’s best to bake the bread towards the bottom of the oven so the top doesn’t burn.
9
Optional oat topping: If you want to add the optional oat topping, add it right before baking the bread. With a pastry brush, brush the risen loaf with egg white, then sprinkle the oats on top.
10
Bake for 36–40 minutes, or until golden brown on top. If you notice the top browning too quickly, loosely tent the pan with aluminum foil. (I usually add it around the 20-minute mark.) To test for doneness, if you gently tap on the loaf, it should sound hollow. For a more accurate test, the bread is done when an instant-read thermometer reads the center of the loaf as 195–200°F (90–93°C). Remove from the oven and allow bread to cool for a few minutes in the pan on a cooling rack before removing the bread from the pan and slicing. Feel free to let it cool completely before slicing, too.
11
Cover leftover bread tightly and store at room temperature for up to 1 week.
Was this recipe helpful?
Tips & Notes
Pro tips
Warm water and milk to 110°F (43°C) before adding yeast—too hot kills yeast, too cold slows fermentation.
Spoon and level flour when measuring to avoid packing; too much flour creates a dense loaf.
Knead until dough is smooth and elastic (8–10 minutes by hand), which develops gluten for better structure and rise.
Brush the optional egg white wash before baking for a golden, slightly shiny crust; whole oats add pleasant texture.
Substitutions
Bread flour → swap in 1/2 to 1 cup (65–130g) for lighter, taller loaves with less whole grain density
Honey → use the same amount of maple syrup, agave, or sugar for sweetness and yeast activation
Lemon juice → substitute 1 tsp apple cider vinegar or white vinegar for the same acidic lift
Unsalted butter → use vegetable oil or coconut oil at 2 Tablespoons (30ml) for a vegan option
Storage & make-ahead
Store cooled bread in an airtight container or bag at room temperature for up to 3 days, or wrap and freeze for up to 3 months; thaw at room temperature or warm in a 350°F oven.
Common Questions
Can I use 100% whole wheat flour or do I need bread flour?
You can use 100% whole wheat flour as written. For a taller, fluffier loaf, swap some of the whole wheat flour for bread flour—the recipe notes this substitution.
How do I know when the dough has finished rising?
The dough should roughly double in size. Check the recipe Notes section for specific timing based on room temperature.
Can I freeze this bread?
Yes. The recipe includes freezing instructions in the Notes section for both the dough and baked loaf.
Can I make this dough overnight?
Yes. See the recipe Notes for overnight proofing instructions to fit your schedule.
What is the lemon juice or vinegar for?
The acidic ingredient (1 tsp fresh lemon juice or apple cider vinegar) enhances flavor and helps activate the yeast.