Add butter and onions to a Dutch Oven/large pot over medium heat. Season with a little salt and pepper and cook until softened.
Add sugar and continue to gently stir until onions become golden brown. Add balsamic and caramelize for about 25 minutes. Reduce heat to medium-low to keep them from burning.
Add the flour and stir, 2-3 minutes. Add ginger ale and thyme, stir 2-3 minutes.
Add beef stock and bay leaves. Cook partially covered for 30 minutes.
Preheat oven to 350 degrees F. Rub bread slices with garlic cloves & brush with butter on both sides. Place on a baking sheet and bake 10-15min (flipping half-way).
Turn oven to BROIL.
Remove bay leaves from the soup and ladle soup into oven-proof bowls. Place toasted bread on top of the soup and sprinkle VERY generosity with cheese.
Broil until the cheese is browned and bubbling. Remove, top with fresh thyme and enjoy!