Wash the leeks thoroughly, then slice them into thin rounds. Peel and dice the potatoes into evenly sized chunks. Finely dice the onion and mince the garlic.
In a large soup pot or Dutch oven, melt the butter over medium heat. Add the sliced leeks and diced onion, cooking for 5–7 minutes until softened and translucent. Stir in the garlic and cook for a further 1 minute until fragrant.
Add the diced potatoes and pour in the vegetable or chicken stock. Stir well, bring to a gentle boil, then reduce the heat to a simmer. Cover and cook for 20–25 minutes, or until the potatoes are very tender.
Remove the pot from the heat and use a stick blender to blend the soup until smooth and creamy. Alternatively, carefully blend the soup in batches using a countertop blender.
Stir in the thickened cream and season with salt and freshly cracked black pepper to taste. Return the soup to low heat and warm through gently without allowing it to boil.
If the soup is thicker than you'd like, stir in a little extra warm stock or water until it reaches your preferred consistency.
Ladle into bowls and serve hot with crusty bread, garlic bread, or your favourite toppings such as chopped chives, crispy bacon, grated Parmesan, croutons, or a drizzle of olive oil.