Heat olive oil or butter in a large pot over medium heat.
Add chopped onions and cook until translucent.
Stir in the minced garlic and sliced leeks, cooking until softened.
Add diced potatoes and stir to combine.
Pour in the broth and bring to a boil.
Reduce heat and let simmer for about 20 minutes, or until potatoes are tender.
Use an immersion blender to puree the soup until smooth.
If desired, stir in heavy cream for extra richness.
Season with salt and pepper to taste.
Serve hot, garnished with chopped chives or parsley.