In a large pot or Dutch oven, heat the olive oil over medium-high heat. Season the short ribs with salt and pepper, then sear them in the pot until browned on all sides, about 8-10 minutes. Remove the ribs and set aside.
In the same pot, add the sliced onions and cook, stirring frequently, until they are caramelized and golden brown, about 15-20 minutes. If the onions start to stick, add a splash of water to deglaze the pot.
Stir in the thyme and garlic, cooking for an additional minute until fragrant.
Pour in the red wine, scraping the bottom of the pot to release any browned bits. Allow the wine to simmer for about 5 minutes.
Add the beef broth, Worcestershire sauce, bay leaf, and the seared short ribs back into the pot. Bring to a boil, then reduce the heat to low and cover. Simmer for 2-3 hours, or until the short ribs are tender and falling off the bone.
Once cooked, remove the short ribs from the pot. Shred the meat and discard the bones. Return the shredded meat to the soup and stir to combine.
Preheat your oven to broil. Ladle the soup into oven-safe bowls, top each with a slice of baguette, and sprinkle generously with Gruyère cheese.
Place the bowls on a baking sheet and broil in the oven for 2-3 minutes, or until the cheese is bubbly and golden brown. Watch closely to prevent burning.
Remove from the oven, garnish with fresh parsley, and serve hot.