Preheat oven to 400℉/205℃.
Place beef bones on a large tray and drizzle with oil. Bake in the oven for 30 minutes and take out.
Add carrots, onions, and garlic to the tray, drizzle with oil, and bake for another 10 minutes.
Transfer browned meat, carrots, onions, and garlic to a dutch oven or large stock pot.
Add the celery, bay leaves, peppercorns, parsley, thyme, salt, and pepper.
Deglaze the tray with 1 cup of warm water, and add it to the dutch oven.
Add 7 cups of water to the dutch oven and bring to a boil.
Reduce to a simmer and skim the stock with a spoon to remove the surface scum.
Cook for 3-8 hours on medium-low without the lid. It will be a very gentle simmer. (The longer you simmer it, the more concentrated the flavor will be.)
Your stock should be rich and dark brown. Adjust salt and pepper to taste.
Turn off the heat and allow the broth to cool.
Line a fine-meshed colander with cheesecloth and place it over a large bowl. Then remove the bones and vegetables from the pot and gently pour the stock through the colander.
Refrigerate the broth. When the fat solidifies on the surface, carefully scrape it off with a spoon and discard it.
The broth will have a jelly consistency when it is refrigerated. You can use it as is or heat it in the microwave or a saucepan to liquefy it.
Freeze or refrigerate it for later or use it immediately in your soups.