Prep leeks. Trim the roots and tough outer layer. Halve the leeks lengthways, slice finely, wash in two or three changes of water and drain well.
Chop vegetables. Chop the onion small. Peel and dice the potatoes.
Melt butter. Gently melt the butter in a large, thick-based saucepan.
Sweat vegetables. Add the leeks, onion and potatoes and stir to coat in butter. Season, cover and cook over a very low heat for about 15 minutes.
Add liquid. Pour in the stock and milk and bring to a simmering point.
Simmer gently. Cover and simmer very gently for 20 minutes until the vegetables are soft. Keep the heat low so the milk does not boil over.
Cool slightly. Take the pan off the heat and leave it for a few minutes.
Blend soup. Blend until smooth, filling the blender no more than halfway and working in batches if needed.
Reheat and season. Return the soup to the pan, warm it gently and adjust the seasoning.
Garnish and serve. Swirl in the cream or crème fraîche and scatter over the chives or parsley.