
These whole wheat sandwich buns are sturdy enough for a burger, but soft enough for deli meat, chicken salad, or any sandwich toppings you'd like. They’re airy, soft, fluffy, and simply perfect, staying fresh for days. Dairy-free substitutions included.
Combine the flour and milk in a small saucepan. Whisk them together until smooth and lump-free.
Place the saucepan over medium heat and cook, stirring constantly, until the mixture thickens into a paste. This typically happens when the mixture reaches 149°F (65°C). You’ll know it’s ready when your whisk or spatula leaves lines in the paste. This step only takes a few minutes.

Remove from heat and let the roux cool to room temperature. To cool faster, transfer it to a small bowl.

Place flours, sugar, and instant yeast in the bowl of a standing mixer and mix until combined. Attach the dough hook to the mixer and add water, egg, cooled tangzhong roux and butter. Mix on low speed until dough comes together, 2-3 minutes. Add salt and continue mixing for another 8 minutes on low-medium speed. Dough should be soft and sticky, and should stick to the bottom of the bowl, so resist the temptation to add more flour! It will be easier to handle after the first rise.
Place dough in a large bowl brushed with oil, and toss to coat (the fat will keep the dough from drying out). Cover with plastic wrap and let sit in a warm place or on the counter for 1-2 hours, or until doubled in size.

When the dough has risen, gently punch it to remove air. Divide the dough into 8 equal portions (each weighing a little more than 100 grams) and shape each one into a smooth ball. Start by pinching together the corners to form a ball with a smooth top. Roll the ball gently on the countertop with your hand cupped over it, pinched side down to create a smooth ball. (See how-to video in post)

Arrange on a baking sheet lined with parchment paper, keeping as much space between them as possible. Cover and let rest for 45-60 minutes or until doubled in size.

Meanwhile, set the oven rack to the middle position and preheat to 400℉/200℃.
Create an egg wash by mixing 1 egg with 1 tablespoon water and ½ teaspoon sugar. Gently brush the tops of the rolls with this mixture and sprinkle with sesame or poppy seeds if using.

Bake for 15 minutes, until the tops have a deep brown color (if you didn’t use an egg wash the tops won’t get as dark). Allow pan to cool on a wire rack for 5 minutes, then transfer rolls to a wire rack to cool completely.

*Lukewarm water should be around 110F-115F. If you don’t have a thermometer, it should feel lukewarm to the touch. You can heat them up together in the microwave or on the stove. Make sure the mixture isn’t too hot (above 130F, the yeast will start to die).
*For dairy-free buns, replace the same amount of milk with water, and the same amount of butter with canola/vegetable/avocado oil.
Serve warm or at room temperature.
Buns stay fresh up to 5 days if stored at room temperature in an airtight container or zipper lock bag or can be frozen for up to 2 months in an airtight container.