Place a large Dutch oven over medium-low heat and melt the butter and olive oil together. Add the sliced onions, sugar, and a generous pinch of salt.
Cook the onions slowly for 30–35 minutes, stirring frequently. Be patient; cook until they turn deeply golden brown, caramelized, and sweet.
Stir in the minced garlic and cook for 1 minute until fragrant.
Pour in the white wine (or a splash of broth) to deglaze the pot. Use a wooden spoon to vigorously scrape up all the caramelized, browned bits stuck to the bottom of the pot.
Pour in the beef broth and Worcestershire sauce. Add the fresh thyme sprigs and the bay leaf.
Bring the soup to a gentle boil, then immediately reduce the heat to low. Simmer uncovered for 15 minutes to allow the flavors to marry.
Remove and discard the thyme sprigs and bay leaf. Taste the broth and season with salt and black pepper to taste.
Preheat your oven's broiler. Ladle the hot soup into 4 oven-safe bowls placed on a baking sheet.
Top each bowl of soup with 1–2 slices of the toasted baguette. Blanket the bread generously with the shredded Gruyère cheese.
Place under the broiler for 3–4 minutes, watching closely, until the cheese is bubbling, completely melted, and golden brown. Serve hot!