1 loaf French bread OR baguettesliced into 1-inch thick rounds
1 1/2 cups grated Swiss or Gruyere
To caramelize the onions: Set a heavy-bottomed pot (about 5 to 6-quarts) to medium-low heat; add olive oil. Add onions and toss to coat. Cover pot and cook onions, stirring often, until softened, about 15 to 20 minutes. Season onions with salt and pepper. Increase heat to medium-high and add butter. Continue to cook, stirring often, until onions begin to brown, about 20 more minutes. Add garlic and cook for 1 more minute.
Pour in cooking wine to deglaze pan. Scrape up browned bits on bottom and sides of pot with a wooden spoon.
Pour in beef stock; add bay leaves and thyme. Bring to a simmer, cover pot and lower heat to maintain a low simmer. Cook for about 25 minutes.
To toast bread and serve: While soup simmers, brush both sides of French bread slices lightly with olive oil. Place slices on rack of a hot oven. Toast until lightly browned, about 5 to 7 minutes.
Remove and sprinkle toasts with grated cheese. Ladle soup into individual serving bowls, place bowls on a baking sheet, and top with cheesy toasts. Place back into your oven for 2-3 minutes more, or until cheese is melted and soup is bubbly.