Épluchez et émincez finement les oignons.
Dans une grande cocotte, faites fondre le beurre avec l'huile d'olive à feu moyen.
Ajoutez les oignons et le sucre, puis faites-les cuire à feu doux-moyen pendant 35 à 40 minutes, en remuant régulièrement, jusqu'à ce qu'ils soient bien dorés et caramélisés.
Ajoutez l'ail haché et faites revenir 1 minute, jusqu'à ce qu'il soit parfumé.
Versez le vin blanc, augmentez le feu et laissez réduire de moitié en grattant les sucs au fond de la cocotte.
Ajoutez le bouillon de bœuf chaud et le bouquet garni, salez, poivrez, et laissez mijoter à couvert pendant 20 minutes. Retirez le bouquet garni en fin de cuisson.
Pendant ce temps, faites légèrement griller les tranches de baguette au four ou au grille-pain.
Répartissez la soupe dans des bols allant au four, déposez une ou deux tranches de pain grillé sur chaque bol, puis recouvrez généreusement de gruyère ou de comté râpé.
Enfournez sous le gril (broiler) pendant 3 à 5 minutes, jusqu'à ce que le fromage soit doré et bouillonnant. Servez immédiatement.