Heat the olive oil in a large skillet over medium-high heat.
Pat the roast dry and season with salt and pepper. Brown for 4 to 5 minutes per side and place it in the bottom of a 6-quart slow cooker.
Reduce the heat to medium and add the butter to the skillet. Add the onions and reduce the heat to medium low. Cook, stirring occasionally, until tender and starting to lightly brown, about 15 minutes. Stir in garlic and cook for 1 minute more.
Add the wine to the onions and scrape up any browned bits. Simmer for 1 to 2 minutes, then pour over the roast in the slow cooker.
Add the beef stock, Worcestershire sauce, beef bouillon cube, bay leaf, and thyme.
Cover and cook on low for 8 to 10 hours, until the roast is fork-tender. Transfer it to a plate to rest while you make the gravy, and discard the bay leaf. Skim any fat off the drippings.
For the gravy, skim any fat off the top of the juices and discard. Transfer the juices to a small saucepan and bring to a boil over medium-high heat. In a small bowl, whisk cornstarch with an equal amount of cold water. Gradually whisk the cornstarch into the boiling juices to reach the desired thickness. You may not need all of the cornstarch mixture.
Shred or slice the roast and serve over mashed potatoes topped with gravy. Serve cheesy baguette slices on the side (see notes).
