Pat the chuck roast completely dry with paper towels. Season all sides generously with salt and black pepper. Remove from refrigerator 30 minutes before cooking. Preheat oven to 325°F (163°C).
Heat olive oil in a large Dutch oven over medium-high heat until shimmering. Sear the roast for 4-5 minutes per side without moving it, until deeply browned on all four sides. Remove to a plate and set aside.
Reduce heat to medium. Add butter to the same Dutch oven. Once melted, add garlic, rosemary, and thyme. Cook for 60-90 seconds until fragrant. Return the roast to the pot and spoon the garlic butter over all sides repeatedly for 30 seconds.
Add onion and celery around the roast. Whisk together beef broth, red wine, tomato paste, and Worcestershire sauce until combined. Pour into the pot. Add bay leaves. Bring to a gentle simmer on the stovetop.
Cover with lid and transfer to the preheated 325°F oven. Braise for 2 hours without opening the lid.
Remove from oven. Add baby potatoes and carrot chunks around the roast, nestling them into the liquid. Cover and return to oven. Braise for another 1.5 to 2 hours, until roast and vegetables are completely fork-tender. Test by inserting a fork and twisting — it should fall apart easily.
Remove roast and vegetables from the pot. Discard bay leaves. Bring braising liquid to a boil on the stovetop. Whisk cornstarch with cold water until smooth, then pour slowly into the boiling liquid while whisking constantly until thickened. Season with salt and pepper to taste.
Pull roast apart with two forks into large chunks or slice thick. Serve with vegetables and pour gravy generously over everything.