Remove the roast from the refrigerator 1 hour prior to cooking. Preheat oven to 450 F.
Generously season roast with salt and pepper, and place on a rack in a cast iron roasting pan. Roast at 450 F for 15 minutes. Reduce heat to 300 F and cook an additional 2 to 2 1/2 hours, depending on desired doneness.
Once the roast is in the oven, toss the peeled shallots with olive oil, salt and pepper. Add the shallots to the roasting pan, along with 3 sprigs of thyme, after the roast has cooked for 30 minutes.
Meanwhile, in a small saucepan, combine vinegar, beef stock, remaining thyme, bay leaf and garlic. Bring to a boil and reduce by half, about 8 to 10 minutes. Set aside.
Begin checking the internal temperature of the roast after 90 minutes. Cooking times will vary depending on the size of the roast. Remove from the oven when the internal temperature reaches 130 F for medium-rare, or 145 F for medium.
Remove the roast and the shallots to a plate. Tent loosely with foil and let rest at least 15 minutes. Remove the rack from the pan and discard the thyme sprigs.
Skim the fat from the roasting pan, then set the pan on the stove over medium heat. Carefully add the red wine, and scrape up any browned drippings and fond from the bottom of the pan. Reduce the wine by half, then pour into the saucepan with the reduced stock mixture.
Bring this sauce to a boil, then reduce to a simmer and remove the thyme, bay leaf and garlic. Stir the butter and flour together in a small bowl, then whisk into the sauce to thicken it. Continue to cook 2 or 3 minutes, and season to taste with salt and pepper. Transfer to a warm gravy boat.
Slice the roast and serve it with the whole shallots and red wine sauce.