Melt butter in a large pot over medium heat. Add olive oil, onions, garlic, thyme, bay leaves and a pinch of salt & pepper to the pot and stir to combine. Cook, stirring frequently, until onions are tender (approx. 25 minutes).
Add the wine and bring to a boil. Lower heat and simmer until most of the wine has evaporated (approx. 10 minutes). Remove the bay leaves and thyme.
Dust onions with flour and cook for an additional 10 minutes.
Add broth to the pot and bring to a boil. Lower heat and cook for an additional 10 minutes.
Preheat oven to 350 degrees. Place bread slices on a baking sheet and cook until toasted. Remove from the oven and increase oven heat to broil.
Spread cream cheese on each bread slice. Ladle soup into oven safe containers and place them on a baking sheet. Top each bowl with bread slices and carefully place in the oven. Bake until the cream cheese begins to brown.
Serve immediately.