Pre-heat the oven to 300F (150C) and adjust the bottom rack to the lowest position and adjust the upper rack high enough to allow the dutch oven to fit between the two racks.
Heat a large dutch oven over medium high heat. Season the roast on both sides generously with salt and pepper. Add the oil to the pot and when it starts to shimmer, add the roast. Sear the roast for a few minutes on both sides, until a brown crust forms. Remove the roast from the pot to a large plate and set aside.
Turn off the heat and add half of the chopped carrots, celery, onion, and garlic. Season with salt and pepper. Use a wooden spoon to stir in the tomato paste and to scrape any browned bits from the bottom of the pan. Stir in the thyme and bay leaves. Add the roast back to the pot along with any juices. Pour in the beef stock.
Place the lid on the pot and carefully put in the oven. Cook in the oven for 3-4 hours, or until the roast shreds easily with a fork.
Remove the roast from the oven and increase the temperature to 350F (175C). Carefully remove the lid and use tongs to remove the roast from the pot to a large plate and set aside. Remove the thyme bunch and the bay leaves and discard. Use an immersion blender to blend the remaining cooking liquid and vegetables to form a smooth sauce. Alternatively, you can use a potato masher to roughly mash the vegetables. For a less greasy sauce, use a large spoon to skim off some of the liquid fat from the top of the cooking liquid prior to blending.
Stir the remaining chopped carrots, potatoes, and mushrooms into the sauce. Add the roast back to the pot, place the lid, and put back in the oven for 15-30 minutes, or until the vegetables are fork tender.
When done, use 2 forks to shred the roast into the vegetables and gravy and season with salt and pepper to taste. Serve.