In a large pot or Dutch oven, melt the butter over medium heat. Add the chopped onion and minced garlic, and sauté until softened and fragrant, about 5 minutes.
Add the diced potatoes to the pot, followed by the chicken or vegetable broth. Bring the mixture to a boil, then reduce the heat to low and let it simmer until the potatoes are tender, about 15-20 minutes.
Once the potatoes are cooked through, use an immersion blender to blend the soup until smooth and creamy. Alternatively, you can transfer the soup in batches to a blender and blend until smooth, then return it to the pot.
Stir in the heavy cream and season the soup with salt and pepper to taste. Continue to simmer the soup for an additional 5 minutes to allow the flavors to meld together.
Serve the Creamy Potato Soup hot, garnished with your choice of toppings such as crispy bacon, shredded cheese, or chopped chives.