Let roast sit at room temperature 30 minutes before cooking. Pat dry with paper towels and generously salt and pepper.
Bring a large oven proof stock pot or dutch oven to medium high heat and add enough vegetable oil to lightly coat the bottom of the pot. Sear beef on both sides ~4- 6 minutes per side or until deep brown. Transfer the meat to a plate.
If there is a lot of fat left in the pan, remove some. You need just enough to cook the onions in. Conversely, if there is no fat, then you will need to add a little oil.
Reduce the pot to medium heat and add the onions.
Cook covered, stirring occasionally ~ 3-5 minutes or until onions are beginning to get soft.
Add mushrooms and cook ~ 7-9 minutes or until tender and liquid has evaporated.
Nestle the roast and any juices from the plate in between the mushrooms and onions and add remaining ingredients. The roast does not need to be covered by liquid but nearly so.
Bring to a boil, reduce heat to a simmer, and transfer to the oven.
Cook 1 1/2 hours. Remove and flip the meat (wear an apron!). Cook an additional 1 - 1 1/2 hours or until meat is fork tender.
Remove the meat to a cutting board and tent. Remove thyme stems. Skim fat off the top of the liquid with a ladle if needed.
Transfer 2 cups ( ~ half ) of the sauce to a blender or food processor and puree. Add puree back to the stockpot and stir.
Slice meat and place on a platter and drizzle the gravy over the top and / or set some gravy aside to pass around the table.
Add salt to taste.
Notes
If using a crockpot - throw all ingredients in a 6 qt crockpot, mix, turn on low for 8 hours.
If your oven runs cooler than most (i.e. - the pot should have be simmering at 300F), then increase the oven temperature to 325.