Thinly slice onions parallel to the grain.
Melt butter and olive oil over medium heat. Add onions with a pinch of salt.
Caramelize onions about 45 minutes, stirring frequently.
Add garlic, saute 1 minute. Deglaze with red wine, cook until evaporated.
Add beef stock, thyme, and bay leaves. Simmer 30 minutes.
Slice baguette, brush with oil, bake at 400F for 6-8 minutes until crispy.
Ladle soup into oven-safe bowls. Top with bread and Gruyere cheese.
Broil on high 2-3 minutes until cheese melts. Garnish with chives.