Homemade stock is extremely cost effective. It can be made into gravy, soups and stews, and you get so, so much food for the money. You can use the bones from last nights roasted chicken or like below, you can purchase beef bones. These are beef neck bones.
Thaw, rinse, and put the bones in your stock pot. You can roast them first which makes a heartier stock.
Every time you slice an onion save the ends and put them in a baggie in the freezer. Likewise with celery tops and any leftover vegetables you have. You'll always have flavoring for your stock. Throw in some whole garlic cloves cut in half, and maybe an extra onion for good measure, or whatever you think will taste good. Notice the onion and garlic skins go in also.
Add your spices and fill your pot to the top with water. (Start with a couple teaspoonfuls of black pepper and a couple of bay leaves.) Add in a couple tablespoonfuls of vinegar. This will help to extract the minerals from the bones.
Cover it and bring that bad boy to a boil. Let it boil for a few minutes before turning it down to a simmer. Keep it covered and let it simmer for about 10 hours. Let it go for longer for a better stock, but 10 hours is the minimum. You could even let it simmer for 24 hours. Let it cool, then strain it. You want nothing but broth left in the pot. Stick it in the fridge overnight.
Yuck! What happened? That's okay. It's supposed to do that! Skim that fat off the top. Sometimes you'll even get a thin layer of hardened grease.
Your stock is now ready to be divided and frozen or for me, tonight we are having beef stew made with a leftover roast.