01 - In a large heavy-bottomed pot, melt butter with olive oil over medium-low heat. Add sliced onions and salt. Stir frequently, cooking until onions are deeply golden and caramelized, about 40 minutes.
02 - Incorporate minced garlic and sugar into the onions. Cook for 2 minutes, stirring continuously.
03 - Pour in dry white wine to deglaze the pot, scraping up any browned bits from the bottom. Simmer until the wine is nearly evaporated, approximately 3 minutes.
04 - Add beef stock or vegetable stock, fresh thyme sprigs, bay leaf, Worcestershire sauce if using, and black pepper. Bring to a gentle simmer and cook uncovered for 25 to 30 minutes. Remove thyme and bay leaf, then adjust seasoning to taste.
05 - Preheat oven to 400°F. Arrange baguette slices on a baking sheet, brush with olive oil, and bake until golden, about 8 minutes.
06 - Remove baguette slices from oven. Top each with grated Gruyere cheese and broil for 2 to 3 minutes until the cheese bubbles and lightly browns.
07 - Ladle hot soup into ovenproof bowls, float Gruyere croutons on top, and, if desired, broil bowls for 1 to 2 minutes for an extra-melted finish. Serve immediately.