In a large bowl, combine 2 1/2 cups of the flour and the yeast. Set aside.
In a small saucepan, heat the milk, 1/3 cup butter, 1/3 cup sugar and salt just until melted and warm about 120 ℉. Stirring occasionally until melted.
Add hot milk mixture to flour and mix well. Add eggs, and beat with an electric mixer or by hand for 30 seconds, scraping the sides of the bowl as you go. Beat on high for about 3 more minutes. If stirring by hand, beat vigorously with a wooden spoon. Make sure the eggs are completely mixed in with the dough.
With the wooden spoon, stir in as much of the remaining flour as you can. Add a little at a time because you don’t want the dough to have too much flour. Once you have a soft dough that you can gather into a ball, turn the dough onto a floured surface.
Knead the dough until smooth and elastic, about 3-5 minutes. The dough should bounce back when you make an indentation with your finger. Shape the dough into a ball.
Place the dough into a greased or sprayed bowl turning once. Cover with a damp towel and let rise in a warm place (warm but not in the oven). Let rise until double in size, approximately 1 hour. Punch dough down after it has risen to double. Turn onto a lightly floured surface and let rest for about 10 minutes. Roll into a 12-inch square.