Place a heavy-bottom stockpot or dutch oven on a stove over medium-low heat. Add cooking oil and butter. Saute onions until evenly coated with oil and butter.
Cover the pot and let it sit until onions are soft and translucent, about 20 minutes. For caramelized onions, turn the heat to medium or medium-high. Stir in sugar and salt and cook uncovered, stirring often until onions are browned and reduced.
Reduce heat to medium-low and stir in the flour. Stir for 2-3 minutes, or until the flour and butter form a thick paste. If paste not achieved, add more butter.
Mix in 1 cup of warm beef stock. Scrape the bottom of the pan to prevent scorching. Stir in the remaining stock and wine. Let the soup simmer for 30 minutes.
For the croutons or toasted bread, preheat your oven to 325 degrees F. Drizzle bread with olive oil and place on a baking sheet. Bake the bread for 15 minutes at 325 degrees F. Flip the slices over and bake for another 15 minutes.
Once the soup has simmered, preheat your oven to 350 degrees F.
Salt and pepper to taste.
Pour the soup into a casserole dish. Stir in cognac, the 1/2 raw onion (grated), and a few ounces of Swiss cheese.
Top the soup with toasted bread in a single layer. Top the bread with the remaining Swiss and Parmesan cheese. Be sure all the edges of bread are covered to avoid burning. Drizzle with oil or melted butter.
Bake the casserole at 350 degrees F for 30 minutes. Turn on the broiler and brown the cheeses.
Let the soup cool for a few minutes before serving. Enjoy!