In a large skillet, over medium-high heat, add the butter and onions, and saute until the onions are translucent and the edges are browned, about 30 to 40 minutes. Stir occasionally during the cooking process. Season with salt and pepper, to taste.
Preheat the oven to 350 degrees F.
Once the onions are cooked, add the wine to deglaze the pan. Stir and then add the parsley, thyme, bay leaves and garlic. Continue to cook until all the wine has reduced, about 15 to 20 minutes. Lower the heat, add the stock and simmer until the mixture has reduced to about 3 cups total volume.
While the stock is reducing, drizzle the sliced bread with oil and sprinkle with salt and pepper, to taste. Arrange the bread on a cookie sheet and bake until slightly browned. Once browned, remove them from the oven.
Heat the broiler.
Ladle onion soup into crocks or bowls, leaving enough room for the toasted baguette. Top each bowl with a slice of bread and sprinkle with cheese. Put the crocks on a sheet pan and broil until the cheese is melted and slightly browned, about1 minute. Remove from the broiler and serve.