In a large soup pot, melt the butter over medium-low heat. Saute the celery, onion, carrots, and garlic until softened, about 2 minutes.
Add potatoes, stock, bay leaf, salt, and pepper.
Slowly add the milk, stirring the entire time you are pouring in the pot.
Continue to stir as you bring the soup to a boil.
Reduce heat, cover, and simmer for about 10 minutes or until the potatoes are soft.
Remove bay leaf.
Using a potato masher, smash the potatoes in the pot. You could also puree half the soup in a food processor.
Add the cheese and stir until melted.
Top with crumbled bacon when serving (optional).