Preheat oven to 300°F (150°C).
Season beef chuck roast generously on all sides with salt and pepper.
Heat oil in a large Dutch oven over medium-high heat.
Sear the beef for 5-7 minutes per side until a deep brown crust forms; remove and set aside.
Add onion to the pot and sauté for 3 minutes, then add garlic and tomato paste, cooking for 1 minute more.
Deglaze the pot with red wine, scraping up browned bits from the bottom.
Return beef to the pot and add beef stock, rosemary, thyme, and bay leaves.
Cover with a tight-fitting lid and transfer to the oven for 2 hours.
Add baby potatoes and carrots to the pot, cover, and cook for an additional 1 to 1.5 hours until meat is fork-tender.
Remove beef and vegetables; discard herb stems and bay leaves before serving.