In a large, heavy pot over medium-low heat, melt the butter with the oil. Add the onions and sugar, and season with salt and pepper. Cover and cook, stirring occasionally, until the onions are meltingly soft, golden, and lightly caramelized, 25–30 minutes.
Add the wine, raise the heat to high, and cook until the liquid is reduced by about half, 8–10 minutes. Add the stock and bay leaf, reduce the heat to medium-low, and simmer, uncovered, until the soup is dark and fully flavored, about 45 minutes. If the liquid is evaporating too quickly and the soup tastes too strong, add a little water, then cover the pot and continue cooking.
Preheat the oven to 400°F (200°C). Arrange the bread slices on a baking sheet and toast, turning once, until golden, 3–5 minutes per side. Set aside.
Remove the bay leaf from the soup and discard. Ladle the hot soup into ovenproof soup bowls arranged on a baking sheet. Place a piece of toast on top of the soup in each bowl and sprinkle with the cheese. Bake until the cheese melts and the toasts are lightly browned around the edges, 10–15 minutes. Serve at once.