Place all the ingredients in a large, heavy-bottomed stockpot. Bring to a boil. This will likely take about 20 minutes.
Skim the foam layer from the top, then reduce the heat to medium-low. Partially cover the pot, and simmer for 3 hours. Check on the soup periodically to make sure it maintains a steady slow simmer rather than reaching a boil.
Remove the solids using a large slotted spoon, then strain the broth through a colander.
You can serve the broth immediately. Or cool it completely, refrigerate overnight, and the next day, remove the fat layer from the top before reheating.