In a deep saucepan, sauté the onion in butter over low heat.
Chop the ends off the leeks and chop into small rings, then put them in with the onions. Keep on low heat and cover with a lid so they can sweat.
Peel the potato and chop into small squares and put in the pan with the leeks and onions. Add chicken stock cubes along with water, milk, salt and lots of pepper. Keep on a low heat with lid on, leave for 15 minutes; check and stir occasionally.
Transfer into a large bowl sieve out water and milk put to one side. blend the leeks, potatoes, onion, etc. Add the water and milk back to the mixture, and blend. You may need to add more milk and water until you get the texture you want.
Taste and season with more salt and pepper if desired. Transfer back to pan to warm. Eat with crusty bread and loads of butter.