In the mixing bowl of your stand mixer. combine warm water and yeast. stir until yeast is dissolved. Let rest five minutes.
Add salt, sugar, butter and milk, stir just till combined. The butter will still be a bit lumpy. I used the paddle attachment of my KitchenAid for this step, a normal beater will do just fine too.
Add 2 cups of flour, combine well, then slowly add just enough of the last cup of flour until the dough starts to pull away from the sides of the bowl and looks like it is chasing the beater. I did use a dough hook for this step but totally not necessary.
Remove dough from bowl onto a floured surface. Knead dough until it is no longer sticky, about 5-10 minutes.
Place in a well-greased bowl and turn dough over to completely coat dough. Cover with a light towel and allow to rise until doubled, about an hour. (make sure the spot you choose for this is a warm area with no drafts)
Punch down dough with fist, then remove from bowl onto a floured surface, kneading again for about 3-5 minutes, then shape dough and place in greased loaf pan.
Cover and let rise again for another 30 minutes.
Preheat oven to 375 degrees. Prior to baking, use sharp knife cut a couple of slits in the top of your loaf.
Bake for 25-35 minutes depending on how your oven works.Check it at the 25 minute mark. You are looking for a dark caramel color but not burnt looking.
Let cool in pan for a few minutes before removing to a wire rack to cool more.