Heat an oven-safe and heavy stock pot over medium heat. Add oil when the stock pot is hot and then add butter and melt. Add onion and stir wellto coat the onions. Cover the stock pot and cook for about 20 minutes until the onions are tender.
Turn the heat to medium-high and add salt and sugar. Stir and cook the onions until they are brown and caramelized.
Lower the heat and add 3 tbsp flour. Stir continuously until the thick paste forms. Add 1 cup of beef stock and stir for few seconds.
Add the remaining beef stock, sage, and bay leaf. Reduce the heat when soup starts boiling, and let it simmer for 30 minutes.
Preheat oven to 325F. Drizzle olive oil on both sides of French bread and bake for 15 minutes on both sides.
Now, remove the bay leaf from the soup and add cognac and half raw onion grated. Add a portion of Swiss cheese and preserve the remaining for top.
Cover the soup with bread and sprinkle the Swiss cheese over the bread. Drizzle the oil or melted butter over the cheese and place the stock pot in the oven. Bake the uncovered soup for 30 minutes.
Once the cheese is melted, turn the broiler on and brown the cheese.
Remove the stock pot from the oven and let it cool. Serve the delicious French onion soup and enjoy!