Preheat your oven to 300°F. Season the short ribs with salt and pepper. In a large, oven-safe pot or Dutch oven, heat olive oil over medium-high heat. Sear the short ribs on all sides until browned, about 3-4 minutes per side. Remove the ribs and set aside.
In the same pot, add the sliced onions and cook over medium heat until they are caramelized, about 15-20 minutes. Stir occasionally to prevent burning.
Add the minced garlic, thyme, rosemary, and balsamic vinegar to the onions. Cook for an additional 2-3 minutes until fragrant.
Pour in the beef broth and red wine, stirring to combine. Return the short ribs to the pot, ensuring they are submerged in the liquid. Bring to a simmer.
Cover the pot and transfer it to the preheated oven. Cook for 2.5 to 3 hours, or until the short ribs are tender and falling off the bone.
Once cooked, remove the pot from the oven. Take out the short ribs and shred the meat, discarding the bones. Return the shredded meat to the soup and stir to combine.
To serve, ladle the soup into bowls. Toast the baguette slices until golden brown, then place one slice on top of each bowl of soup. Sprinkle with shredded Gruyère cheese and place under the broiler for 2-3 minutes until the cheese is bubbly and golden.
Serve hot and enjoy!