Place the brisket on a plate and let it come to room temperature, about 1 hour. Sprinkle the brisket rub all over the brisket and pat with your hands to make it stick to the meat.
In a roasting pan, pour in the oil, beef stock, vinegar, Worcestershire sauce, barbecue sauce, onion, celery, bay leaves, and salt, and mix it all together. Put the brisket into the roasting pan.
Cover the roasting pan with foil and place in the center rack of the preheated oven. Roast for 4-5 hours or until the meat is tender. Check at the halfway point (after about 2 hours) to ensure there is still enough liquid—top up with a little water or beef stock if needed.
Take the brisket out of the oven and let it rest, covered, for 30-45 minutes before slicing and serving.