Preheat your oven to 350°F (175°C).
In a large Dutch oven, heat olive oil and butter over medium heat. Season the short ribs with salt and pepper and brown them on all sides, about 8-10 minutes. Remove the ribs and set aside.
In the same pot, add the sliced onions and cook slowly, stirring frequently, until they are caramelized and golden brown, about 25-30 minutes. Add the minced garlic and cook for an additional minute.
Sprinkle the flour over the onions and stir to combine. Cook for 1-2 minutes to eliminate the raw flour taste.
Pour in the red wine, scraping the bottom of the pot to release any browned bits. Add the beef broth, thyme, bay leaf, and reserved short ribs. Bring to a simmer.
Cover the pot and transfer it to the preheated oven. Cook for about 2 hours, or until the short ribs are tender and easily pulled apart.
Once finished, remove from the oven, discard the bay leaf, and check for seasoning, adding more salt and pepper as needed.
For the Gruyère toast, place the bread slices on a baking sheet, top each slice with grated Gruyère cheese, and toast in the oven until the cheese is bubbly and golden, about 10 minutes.
Ladle the soup into bowls, top with Gruyère toast, and serve hot.