Add sliced onion, reduce the heat to medium low and cook stirring occasionally until tender and caramelized. Don’t let the onions stick to the bottom of the pot. They should be rich brown colour with distinctive smell. It will take about 50 minutes.
Whisk in flour, sugar, salt, pepper and thyme and simmer stirring constantly for 5-7 minutes.
Add broth and simmer with a lid on for 25 minutes.
Preheat the broiler.
Place 4 ramekins into a rimmed baking sheet and divide soup among ramekins.
Top each ramekin with a few slices of baguette. Generously sprinkle with Gruyere and Provolone cheese.
Broil for a few minutes until cheese melts and starts to brown.