Roast the bones until cooked through and starting to brown in a 350 oven.
Let the bones cool for a bit and add to a pan of cold water, using about three times as much water as bones and adding in a Tbsp or two of apple cider vinegar to pull out the calcium from the bones.
After the bones and water have sat for about an hour, heat to boiling and remove any scum that surfaces.
With larger bones like those from beef, you should allow it to simmer at least 12-18 hours to fully extract nutrients and flavor.
You may toss in whatever vegetables you like, but my basic “recipe” is one whole onion (white or yellow) a few carrots, a few stalks of celery, and 2-3 cloves of garlic. Add in 2 bay leaves and sea salt and pepper to taste while it simmers for another 2-4 hours.
When finished, the water level should be just above the level of the bones.
Strain the broth through a fine mesh strainer and refrigerate.
Depending on your usage of the broth you may or may not want to spoon off the fat once it rises to the top when cooled. I prefer to leave the fat in (it won’t hurt you – promise!) when I use the broth for gravies or making rice, but I do spoon it off when I use it for soups. This leaves my soups with a wonderful clear broth and no ‘fatty’ taste.
Keep the fat you spoon off for other uses; like making a rue for gravy and white sauce, or frying meats.