Place all ingredients in large pot with cold water (make sure there is enough water to cover all ingredients plus an extra 2 inches). Too little water will not draw enough flavour into the stock and too much water will make the stock taste weak.
Bring the mixture to a boil, then reduce to a simmer and cook for 4 hours, straining off any foam and coagulated proteins that form on the surface. Add more water as needed to keep the ingredients covered.
After 4 hours of cooking, strain contents through a colander or fine mesh sieve into a clean pot. Discard solids and season with salt to taste. Let cool slightly, then refrigerate the stock overnight. The next day, remove any fat that has solidified.
The stock can be used immediately, stored in the fridge for a week or in the freezer for 2 months.
For vegetable stock, double all of the vegetables noted above and add other favourites, such as parsnips, fennel and tomato. Reduce the cooking time to 2 hours.