Add butter and onions to a large pot over medium heat. Season with a little salt and pepper and cook until softened.
Add sugar and continue to gently stir until onions become golden brown and caramelized, about 25 minutes. Careful to not let them burn! Maintain a medium to medium-low heat.
Add the flour and cook for 3 more minutes.
Add beef stock, wine, thyme, celery and bay leaves. Cook partially covered for 30 minutes.
Preheat oven to 350 degrees F.
Arrange bread on a baking sheet and brush with melted butter on both sides.
Bake for 15 minutes, flipping to the other side half way through. Remove from oven and rub a cut clove of garlic onto each piece of bread.
Turn oven to BROIL.
Remove bay leaves and the piece of celery from the soup and ladle soup into 4 oven proof bowls.
Place the toasted bread on top of each bowl. Depending on the size of your bowls you may need two slices of bread.
Sprinkle the tops generously with both types of cheese. Broil until the cheese is browned and bubbling. Bon Appetite!
Leftovers will keep stored in the refrigerator for 3-4 days. Toast fresh bread and cheese when reheating.
Make ahead Instructions: The soup base could be made one day in advance and stored in the fridge. Wait to add the bread and cheese until ready to serve. Gently reheat the soup on the stove, and then add the bread and cheese and toast it.Freezing Instructions: Make the soup but don't top it with bread and cheese. Store in a freezer safe container in the freezer for 2-3 months. The shredded cheese and bread may be frozen separately. Reheat gently on the stove and then add the bread and cheese and toast it.Wine: You may substitute half cup white grape juice, chicken broth, or ginger ale.Croutons: Croutons are often used on top of French onion soup. If you don't want to bother broiling a baguette, they work great too.Vegetarian: substitute vegetable broth for the beef broth along with 1 tablespoons of soy sauce. This will add a richness that will help mimic the richness of the beef broth.Vegan: Make the same substitution listed above and substitute olive oil for the butter, and use hemp seed crumble cheese and vegan gruyere.Gluten-free: substitute gluten-free flour and gluten free artisan bread.