Pat the roast dry with paper towels. Season with 2 teaspoons of kosher salt and ½ teaspoon of black pepper.
Heat 1 tablespoon of olive oil in a Dutch oven over medium-high heat until shimmering. Sear the roast until dark golden-brown on both sides, about 4-5 minutes per side. Transfer to a plate.
Add the remaining 2 tablespoons olive oil, onions, remaining salt, and pepper to the pot. Stir well, cover, and cook for 5 minutes. Uncover, stir, cover again, and cook for another 5 minutes.
Continue to cook the onions, stirring occasionally until a rich caramel brown color is achieved, about 30-40 minutes, adjusting heat as necessary.
Stir in the minced garlic and cook for 1 minute. Sprinkle flour over the onions, stir and cook for 1 minute. Stir in the wine, scraping up the browned bits, then add beef broth, thyme, and bay leaves.
Return the roast to the pot and bring to a simmer. Cover and transfer to the oven. Cook until the meat is easily shredded, about 3 to 3.5 hours.
Skim off fat from the surface and discard thyme stems. Shred the roast in the pot before serving and garnish with fresh thyme if desired.