Heat the oil in a large heavy-based saucepan or stockpot. Add the leeks and onion, stir well then reduce the heat to low. Cover with a tight-fitting lid then leave the vegetables to sweat for about 20 minutes, shaking the pan occasionally but without lifting the lid.
Add the bay leaf, thyme, parsley, carrots, celery and salt. Pour in the water then increase the heat to high. Bring slowly to the boil, skimming the surface of the liquid to remove any scum.
As soon as the water boils and all the scum has been removed, add the peppercorns and reduce the heat to low. Cover and simmer for 35 minutes.
Strain the stock into a large heatproof bowl and set it aside to cool. Use at once or cool and then chill until required. The stock will keep in the refrigerator for several days.