Pat 1 (3-pound) boneless beef chuck roast dry with paper towels.
Season all over with 2 teaspoons of the kosher salt, ½ teaspoon of the black pepper and 1 teaspoon garlic powder.
Heat 1 tablespoon of the olive oil in a large Dutch oven over medium-high heat until shimmering.
Add the roast and sear until dark golden-brown on all sides, about 4 to 5 minutes per side.
Transfer the roast to a large plate when done.
Reduce the heat to medium-low.
Add the remaining 2 tablespoons olive oil, 6 thinly sliced large yellow onions, the remaining 1 teaspoon kosher salt, and remaining ½ teaspoon black pepper to the pot.
Stir well to combine.
Cover and cook undisturbed for 30-40 minutes, removing the lid to stir every 5min or so, until the onions are a rich caramel brown colour.
Make sure to scrape the bottom of the pot when stirring.
Arrange a rack in the lower third of the oven and heat the oven to 325°F.
When most onions are nicely caramelized, stir 4 minced garlic cloves into the onions and cook for 1 minute.
Sprinkle 3 tablespoons all-purpose flour over the onions, stir well, and cook for 1 minute.
Stir in 1 cup dry red wine and scrape up the browned bits from the bottom of the pot.
Stir in 2 ½ cups low-sodium beef broth, 5 fresh thyme sprigs, and 2 dried bay leaves.
Return the roast and any accumulated juices to the pot, add a big knob of butter on top of the roast and more warmed beef broth if needed, the liquid should come ½-¾ way up the roast.
Cover with some parchment paper and then a tight-fitting lid and transfer to the oven.
Cook until the meat is gently falling apart when pricked with a fork, 3 to 3 ½ hours, flip the roast every 1.5hr.
Skim off some of the fat from the surface if desired.
Remove and discard the thyme stems.
Shred the roast into bite-size pieces right in the pot with tongs before serving.
Garnish with more fresh thyme leaves if desired.
Serve with mashed potatoes or serve as a hot sandwich melt.
