Slice the leeks, then wash thoroughly in a large bowl of cold water, swishing to release any trapped grit. Lift the slices out with your hands.
Melt the butter in a large saucepan over medium heat. Add the leeks and onion and cook gently for 10 minutes, stirring occasionally, until softened but not browned.
Stir in the diced potatoes and pour in the stock. Bring to a simmer.
Reduce the heat and cook gently for 20-25 minutes, until the potatoes are completely tender.
Blend until smooth. Stir in the cream and season to taste with salt and white pepper.