Heat vegetable oil in a large, heavy pot or cast-iron Dutch oven over medium heat. Brown chuck roast in the hot oil completely, 5 to 8 minutes per side; season with salt and black pepper and transfer to a platter. Reserve oil in pot.
Cook and stir onion and garlic in the oil until onions are golden, about 15 minutes. Stir beef stock, tomatoes, red wine vinegar, brown sugar, and bay leaves into onions and garlic; bring to a boil and place chuck roast into the mixture. Cover pot.
Cook in the preheated oven until meat is very tender, 4 to 4 1/2 hours. Scatter carrot slices around the beef and bring to a boil over medium heat; return to oven for 30 more minutes. Distribute potatoes around the beef and vegetables, bring to a boil again over medium heat, and bake until potatoes are tender, about 30 more minutes.
Transfer beef to a serving platter, cover loosely with a tent of aluminum foil, and set aside to rest for 10 minutes.
Stir mushrooms into pan drippings; bring to a simmer over low heat. Whisk cornstarch into cold water in a small bowl and stir into the drippings. Season with celery salt, basil, and thyme. Simmer until thickened, about 5 minutes. Remove and discard bay leaves. Slice beef; serve on a platter surrounded by vegetables. Pour gravy over beef.