Pat the beef chuck roast dry with paper towels and season generously with salt and pepper on all sides.
Heat the olive oil in a large skillet over medium-high heat. Sear the roast for 4-5 minutes per side until a deep brown crust forms. Transfer the beef to the slow cooker.
In the same skillet, add the sliced onions and mushrooms. Sauté for 5 minutes until the vegetables soften and release some moisture. Stir in the minced garlic and cook for 1 minute.
Pour the mushroom and onion mixture over the beef in the slow cooker.
Add the beef broth, Worcestershire sauce, and dried thyme to the slow cooker. Cover and cook on Low for 8 hours or High for 4-5 hours, until the meat is fork-tender.
Carefully remove the beef from the slow cooker and set aside on a carving board to rest.
In a small bowl, whisk the cornstarch with the cold water to create a slurry. Stir the slurry into the liquid remaining in the slow cooker.
Cover and cook on High for 15-20 minutes until the gravy has thickened and becomes glossy.
Slice or shred the beef roast and serve hot over mashed potatoes, topped generously with the mushroom and onion gravy.