Melt butter in large heavy-bottomed pot over medium; add onions and sugar, stirring to coat.
Cook onions 40-45 minutes, stirring every 5 minutes, until deeply golden and caramelized. Lower heat if browning too quickly.
Cook garlic 1 minute; add wine and scrape browned bits. Simmer 2 minutes.
Add broth, bay, and thyme. Boil; reduce heat and simmer 20 minutes. Season with salt and pepper.
Meanwhile, heat broiler; arrange bread on sheet and toast 1-2 minutes per side until lightly golden.
Ladle hot soup into oven-safe bowls; top each with 1-2 toast slices and generous Gruyère and Parmesan.
Place bowls on sheet; broil 2-4 minutes, watching closely, until cheese melted, bubbling, and golden.
Cool a minute or two; serve immediately, warning diners bowls and cheese are hot.