Preheat the oven to 450 degrees F.
Wash the carrots and celery, then roughly chop them into large pieces, keep the celery leaves but set them aside for now.
Quarter the onion, and separate the cloves of garlic from the head, you can leave the peels on.
Line a baking sheet with aluminum foil, place the beef bones, carrots, celery (not the leaves), onion, and garlic on the foil.
Roast the bones and vegetables in the oven for approx 20 minutes or until the bones get some nice color.
Carefully place the bones and vegetables along with any juices from the pan into a large stock pot.
Add the celery leaves, herbs, seasonings, and apple cider vinegar to the pot, then fill the pot with water. The water should cover the bones.
Place the pot on the stove, and bring to a boil. Let boil for 10 minutes then cover and reduce the heat to a low simmer. Let the bone broth simmer for 12-18 hours, stirring occasionally.
After 12 to 18 hours, remove the pot from heat.
Let the pot cool for 15 to 30 minutes then strain the broth through a fine mesh strainer into another large container with a lid, transfer the broth to the refrigerator to chill overnight.
You can choose to either discard the bones and veggies at this point, or you can make a second batch with the same bones, this is called a remouillage. Put them back into the stock pot, fill with water and new seasonings, and simmer the bones again for another 12 to 18 hours. After the second batch, discard the bones and vegetables.
After the broth has chilled overnight, there will be a solid layer of fat on the top. Scrape the layer of fat off and discard. The remaining broth will be gelatinous in texture, spoon into airtight storage containers, store in the fridge for 4 to 5 days or in the freezer until ready to use.