Heat a deep pot over medium to medium-high heat. Add olive oil, about one turn of the pan, and butter to the pot. Add the onions to the pot as you slice them and the chopped garlic. Season with salt and pepper then add thyme sprigs and a bay leaf. Cook the onions for 20-25 minutes, stirring frequently, until tender, sweet and deep caramel-colored. If the onions are burning in spots before browning all over, add a splash of water and stir every now and then, scraping the bottom of the pot.
Once the onions are tender and brown, add the white wine and scrape up all the brown bits from the bottom of the pot. Add the beef stock and cover the pot to bring the soup up to a quick boil. Simmer for 15 mins.
Place a few chunks of the toasted bread into each of four deep soup bowls or crocks and top the toast with a handful of the shredded roast beef. Once the soup reaches a boil, remove the bay leaf and thyme sprigs, and ladle into bowls to cover the roast beef. If you like, top it off with a handful of grated parmesan cheese.