In a large pot, melt the unsalted butter over medium heat. Add the sliced leeks and sauté for about 5 minutes until they become tender and translucent, stirring occasionally.
Stir in the minced garlic, and cook for an additional minute until fragrant, making sure not to let it brown.
Add the diced potatoes, chicken or vegetable broth, salt, and black pepper to the pot. Increase the heat to bring the mixture to a boil.
Once boiling, reduce the heat to low and simmer uncovered for about 20-25 minutes, or until the potatoes are tender and easily pierced with a fork.
If desired, use an immersion blender to puree the soup until smooth. Alternatively, let it cool slightly and blend in batches using a countertop blender.
Return the blended soup to the pot, and stir in the heavy cream if using. Heat it gently over low heat until warmed through.
Taste and adjust the seasoning with additional salt or pepper if needed.
Ladle the soup into bowls and garnish with fresh parsley before serving.