Melt butter in a heavy bottomed pot. Add onions and cook over medium heat for 45 minutes, stirring occasionally.
Add garlic and cook for 1 minute. Then add worcestershire, wine, and thyme. Cook for about 5 minutes.
Add beef broth, bay leaves, and salt and pepper. Raise heat to bring to a boil then reduce to simmer. Cover and cook for 35 minutes.
While soup is cooking, brush olive oil on sliced baguette. Place them on a prepared baking sheet and put into a 350° oven for 5-7 minutes until toasted.
Remove bay leaves and thyme sprigs from soup. Adjust seasonings if needed.
Ladle soup into oven safe ramekins and top with toasted baguette and cheese. Put under the broiler until cheese is melted and bubbly.