Melt the butter in a large pot or stockpot over a medium heat. Stir in the leeks and onions, then reduce the heat to low. Cover with a tight-fitting lid and leave the vegetables to cook gently for 20 minutes without lifting the lid.
Tie the herbs together into a bouquet garni. Add itto the pot with the carrots, celery, peppercorns and water. Increase the heat and bring slowly to a boil, skimming the surface if necessary to remove any scum. As soon as the water boils, reduce the heat to low and simmer for 35 minutes.
Strain the stock into a large heatproof bowl and set aside to cool. Keep chilled or freeze.