In a large bowl or stand mixer, combine 2 cups flour and yeast.
Heat milk, sugar, and butter to 120–130°F until butter is melted. Add to dry mix.
Beat in eggs, then mix for 3 minutes.
Add remaining flour gradually until a soft, slightly sticky dough forms.
Knead 6–8 minutes until smooth and elastic.
Place in greased bowl, cover, and rise until doubled (1 hour).
Punch down, divide in half, rest 10 minutes.
Pinch off dough and form balls by tucking edges under.
Place seam side down in greased pan. Let rise 30 minutes.
Brush with egg/milk wash. Bake at 375°F for 12–15 minutes until golden.
Cool slightly, then serve warm!