In a large pot or Dutch oven, heat the butter and olive oil over medium heat. Add the sliced onions and cook, stirring occasionally, until the onions are soft and golden brown, for 15-20 minutes. Stir occasionally to prevent burning
Once the onions are caramelized, add the minced garlic, dried thyme, salt, and pepper. Stir for about 1 minute, allowing the garlic to become fragrant
Sprinkle the flour over the onions and stir well to combine. Cook for 2-3 minutes to form a roux
Gradually pour in the beef broth, stirring constantly to prevent lumps. Bring the soup to a simmer over medium heat for 30 minutes
While the soup simmers, toast the French bread slices until golden brown
Ladle the hot soup into oven-safe bowls. Place a slice of toasted French bread on top of each bowl of soup. Lay a slice of provolone cheese over the bread, then sprinkle with grated Parmesan cheese
Place the bowls under a broiler for 2-3 minutes, or until the cheese is melted
Carefully remove the bowls from the oven, let them cool slightly, and serve hot, and enjoy!