1. Trim away the coarse green leaves and the roots of the leeks and cut them in half lengthwise. Slice thinly and wash well in cold water. Lift them out of the water and drain in a colander, leaving any dirt behind.
2. Melt the butter gently in a large, heavy-based saucepan and add the leeks, potatoes and onions, stirring them around so they are coated with the butter. Add salt and pepper, cover the pan and cook over a very low heat for 10 minutes.
3. Add the stock, milk and cream and bring back to a gentle simmer, then replace the lid and cook very gently for another 20 minutes. Don’t have the heat too high or the milk may boil over.
4. Puree the soup with a wand blender, or use a food processor. Return to the saucepan and reheat gently, taste for seasoning and serve with a swirl of cream and a sprinkling of chopped chives on top.