Slice the onions into thin slices and set aside.
Melt the butter and olive oil in a large pot over medium heat. Add the sliced onions and salt, stirring well. Cook for 30-40 minutes until golden brown.
Stir in the sugar and minced garlic, cooking for an additional 2-3 minutes. Then, add the beef broth and dry white wine along with thyme, bay leaf, and black pepper. Bring to a gentle simmer.
Allow the soup to simmer for 20-30 minutes, stirring occasionally. Remove the bay leaf after simmering.
Preheat the oven to 400°F. Arrange the sliced baguette on a baking sheet and toast for 5-7 minutes until golden brown.
Ladle the hot soup into oven-safe bowls, place a toasted baguette slice on top, and sprinkle with Gruyère and Parmesan cheese. Bake for 10-15 minutes until the cheese is melted and bubbly.