In a large pot, heat oil and butter over medium heat. Add the thinly sliced onions and cook, stirring occasionally, for about 20 minutes.
Add the sugar and cook another 20 minutes or until the onions are caramelized and golden brown.
Stir in the minced garlic and cook for 2 minutes. Deglaze the pot by adding the white wine and scraping the bottom of the pot to loosen any browned bits.
Add the vegetable broth, balsamic vinegar, bay leaf, dried thyme, salt, and pepper. Bring to a simmer and cook for 30 minutes.
Meanwhile, preheat the oven to 400°F. Place the baguette slices on a baking sheet and toast in the oven for about 8-10 minutes, until crispy and golden. Remove from the oven.
Adjust the soup seasoning as needed with more salt or balsamic vinegar. Ladle the hot soup into oven-safe bowls. Top each with a slice of toasted baguette and sprinkle generously with grated Gruyère cheese.
Place under the broiler for 3-4 minutes, or until the cheese is melted and bubbly.