Melt butter in a large pot or Dutch oven over medium heat. Add onion and celery and cook until softened, about 5-7 minutes.
Add minced garlic and cook for 1 minute more until fragrant.
Add the cubed potatoes and chicken broth to the pot. Bring to a boil, then reduce heat and simmer, covered, for 15-20 minutes, or until potatoes are tender.
Carefully transfer about half of the soup to a blender (or use an immersion blender directly in the pot) and blend until smooth. Return the blended soup to the pot.
Stir in the milk, salt, and pepper. Heat gently over medium-low heat until warmed through. Do not boil.
Taste and adjust seasoning as needed.
Ladle soup into bowls and garnish with fresh parsley and your favorite toppings.
Notes
For a thicker soup, use fewer potatoes or add a cornstarch slurry (2 tablespoons cornstarch mixed with 2 tablespoons cold water) to the simmering soup.
This soup can be made ahead and reheated. It is also a great candidate for meal planning.
Feel free to add other vegetables like carrots or leeks along with the onions and celery.
Consider this a base for a loaded potato soup, adding your favorite toppings.