Prepare Onions: Thinly slice 6 large onions after peeling, aiming for about 10 cups of sliced onions.
Initial Caramelization: Heat 3 tablespoons of olive oil in a large, thick-bottomed pot over medium heat. Add onions, stirring to ensure they're coated with oil. Cook until they're soft, which will take around 15-20 minutes.
Enhance Browning: Increase the heat slightly and add 1 tablespoon of olive oil along with 2 tablespoons of butter. Stir frequently as the onions begin to take on a brown color, a process that can vary from 20 to 40 minutes.
Sugar and Garlic Addition: Add 1 teaspoon of sugar and 1 teaspoon of salt to the onions, continuing to cook until they are richly browned, about an additional 10-15 minutes. Follow by adding 2 minced garlic cloves, cooking for another minute.
Wine Deglazing: Pour in 1/2 cup of dry vermouth or white wine to the pot, scraping the bottom to loosen any browned bits.
Broth and Seasoning: Add 8 cups of your chosen stock, 2 bay leaves, and 1 tablespoon of fresh (or 1/2 teaspoon dried) thyme leaves. Simmer, cover, and let it cook on low heat for 30 minutes.
Final Seasoning and Brandy: Adjust seasoning with additional salt and black pepper to your taste. Remove the bay leaves. If desired, mix in 2 tablespoons of brandy.
Toasting Bread: Set your oven to 450°F and arrange a rack in the upper third. Brush both sides of 8 slices of French bread with olive oil. Bake until they are lightly browned, which should take about 5 to 7 minutes.
Adding Cheese to Toast: After flipping the bread slices, top them with Gruyere and Parmesan cheese. Bake again when ready to serve, until the cheese has melted and turned slightly brown.
Serving the Soup: Distribute the soup into individual bowls, each topped with a cheesy bread slice. Alternatively, for a bubbly cheese top, place the soup in oven-proof bowls, top with the bread and cheese, and broil for 10 minutes at 350°F until the cheese is bubbly and golden.