Pat the chuck roast dry with paper towels. Season generously on all sides with the salt and pepper, then let it rest at room temperature for 30 minutes.
Preheat the oven to 300°F.
Heat the olive oil in a large braising pot over medium-high heat. Once hot and shimmering, add the roast and sear undisturbed for 4-6 minutes per side, until a deep golden-brown crust forms. Transfer to a plate and set aside.
Reduce the heat to medium. Add the onions, carrots, celery, and garlic to the pot and cook, stirring occasionally, for 6-8 minutes, until softened and lightly browned at the edges.
Stir in the tomato paste and cook for 2-3 minutes, stirring constantly, until it darkens slightly and becomes fragrant. Pour in the red wine, scraping up any browned bits from the bottom of the pot. Let it simmer for 2-3 minutes to reduce slightly.
Stir in the beef stock. Return the seared roast and any accumulated juices to the pot, nestling it into the liquid.
Add the thyme, rosemary, and bay leaves around the roast. Cover tightly with a lid and transfer to the oven.
Braise for 3 ½ to 4 hours, or until the roast reaches an internal temperature of 195-205°F and shreds easily with a fork.