Melt butter in a stockpot over medium-high heat; add onions and stir frequently ~30 minutes, until caramelized. (caramel brown, but not burnt)
Add garlic, sauté ~2 minutes; stir in flour; cook an additional minute; stir in wine, using a spoon to scrape up any browned bits on the bottom of the pan.
Add stock, Worcestershire sauce, bay leaf and thyme; bring to a bubbly boil; reduce heat to low, cover and simmer ~10 minutes.
Preheat oven to 400°F; slice baguette into 1-inch thick pieces; arrange them in single layer on baking sheet; bake for ~7 minutes, until the bread is toasted; set aside.
Discard the bay leaf and thyme; taste the soup; season with salt and pepper as needed.
Set oven to broil with rack ~6 inches from top; place oven-safe bowls on baking sheet; ladle soup into each bowl; top soup with bread and cheese; broil for ~3 minutes, or until the cheese is melted and bubbly.