In a large stock pot, cook the bacon until crisp. Remove the cooked bacon and all the grease, reserving 2 tablespoons for the pot.
Add the chopped onion, celery and carrots to the hot bacon grease and cook until the onion is translucent. Make sure to scrap all those bacon bits from the bottom of the pan.Add the cubed potatoes to the pot with the broth or water. Add more if needed, to make sure the potatoes are completely covered.
Bring the soup to a shimmer and cook until the potatoes are cooked through, about 15 minutes. Add the bacon back in at this point.
At the same time you are cooking the potatoes, add 5 tbsp of butter to a medium saucepan and melt. Once the butter is melted, add the flour to the butter and whisk together to create paste. Allow to cook for about 2 minutes. The paste will take on a slight brown color. Slowly add the milk to the paste gradually. Turn the heat down and allow the mixture to simmer for approximately 10 minutes. The mixture will thicken.
Once the potatoes are cooked, I used a potato masher to smash the potatoes a bit but I left a lot of chunks. Stir in the thickened milk mixture into the potato mixture. Keep the soup on the heat until completely heated through. Serve immediately.