Place heavy bottom stock pot or dutch over over medium-low heat.
Add cooking oil and butter to pot.
Add sliced onions and stir until they are evenly coated with the oil.
Cover and cook for about 20 minutes until they are very tender and translucent.
To brown or caramelize the onions turn heat under pot to medium or medium high heat.
Add 1/2 tsp sugar and 1 tsp salt and continue to cook uncovered, stirring frequently until the onions have browned and reduced significantly. (note this requires patience it can take up to 1 hour for them to caramelize, please do not turn up the heat to hurry them, they will burn)
Once caramelized, reduce heat to medium-low and add 3 Tbs flour to the onions.
Brown the flour for about 2-3 minutes trying not to scorch it. (If the flour does not form a thick paste, you can add a bit more butter here).
Stir in about 1 cup of warm stock, scraping the bottom of the pan to get up all of the cooked-on bits.
Add the rest of the stock, wine, sage, and bay leaf to the soup.
Simmer for 30 minutes.
To make the "croutes" (toasted bread), heat oven to 325 degrees F.
Drizzle each side of the bread slices with a bit of olive oil and place on baking sheet.
Cook the croutes for 10 minutes in oven on each side (20 minutes total).
Check the soup for seasoning and add salt and pepper if needed.
Remove the bay leaf (if you can find it).
Transfer to a casserole dish.
At this point you can add the 2-3 Tbs cognac or good French brandy and grate the 1/2 raw onion into the soup.
Add a few ounces of the swiss cheese directly into the soup and stir.
Place the toasted bread in a single layer on top of the soup.
Sprinkle the rest of the cheese in a thick layer on top of the bread making sure to cover the edges of the toast to prevent burning.
Drizzle with a little oil or melted butter.
Place in a 350 degree oven for about 30 minutes.
Turn on broiler and brown cheese well.
Let cool for a few minutes.