In a large saucepan over medium heat, melt butter and olive oil.
Slice onions thinly and add to the pan. Stir for 5-6 minutes until onions are soft.
Sprinkle salt and sugar and allow the onions to caramelize and brown on medium to low heat for 30-35 minutes.
Next, sprinkle flour over the caramelized onions and mix really well. This will help to thicken up the soup just a little bit. Just a tad!
Next, pour in beef broth and add bay leaves. Let the soup simmer for 10-15 minutes on medium heat.
While the soup is simmering, slice french bread and toast it on both sides. I toast it under the broiler in my oven.
To assemble French onion soup, pour a couple of ladles of the soup into an oven-safe bowl.
Place the toasted french bread on top, and grate gruyere cheese generously on top.
Place the bowl into the oven under the broiler for 5 minutes or until the cheese is melted and brown.
Serve immediately!