Heat butter and olive oil in a large, heavy bottomed Dutch oven. Cook onions, garlic, bay leaves and thyme, covered, over medium low heat for 15 minutes, stirring occasionally.
Uncover, raise heat to medium high and add salt and sugar. Cook, stirring frequently until onions are deep, golden brown, about 30-40 minutes. (If looking very dry or burning, add a little water to deglaze the bottom of the pan,)
Add red wine and bring to a boil, reduce heat and simmer until evaporated and onions are dry, about 5 minutes. Discard bay leaves and thyme.
Sprinkle flour over onions, stir to combine for about 3 minutes to cook off flour taste.
Add the beef broth, stir well to combine and simmer, partially covered, for about 30 minutes, stirring and skimming occasionally, if needed.
Meanwhile, make croutons. Preheat oven to 325º. Place bread rounds on baking sheet and bake until crisped and lightly browned, about 20 minutes, flipping halfway and basting with a little olive oil. When done, rub each piece with cut garlic clove, set aside.
Taste onion broth for salt and pepper. To serve, ladle warm soup into oven proof bowls, top with 2 croutons and a generous amount of grated Gruyère cheese. Place under broiler to melt and lightly brown. Enjoy!