- 4 tablespoons unsalted butter
- 3 large white onions (about 2 1/2 pounds), thinly sliced
- 1/2 cup plus 2 tablespoons Madeira
- 4 cups chicken stock or canned low-sodium broth
- 4 cups beef stock or canned low-sodium broth
- Salt and freshly ground pepper
- 2 tablespoons balsamic vinegar (optional)
- Six thick slices stale sourdough bread
- 2 cups grated Gruyère cheese (about 6 1/2 ounces)
- 2 scallions, chopped
- Melt the butter in a large saucepan. Add the onions and cook over moderately high heat, stirring frequently, until softened and starting to brown, about 15 minutes. Add 2 tablespoons of the Madeira, reduce the heat to moderate and cook until evaporated. Continue adding a total of 1/2 cup of the Madeira, 2 tablespoons at a time, stirring often and cooking until evaporated before adding more, about 15 minutes. Continue cooking the onions, stirring, until deep brown, about 10 minutes more.
- Add the chicken and beef stocks to the saucepan and bring to a rolling boil. Reduce the heat to low and simmer until the soup is flavorful and the onions are tender, about 1 hour. Season with salt and pepper and stir in the balsamic vinegar and remaining 2 tablespoons of Madeira.
- Preheat the broiler. Arrange 6 ovenproof bowls on a baking sheet. Divide the soup among the bowls, top each with a bread slice and cover the bread with the cheese. Broil for 1 to 2 minutes, until the cheese is golden and bubbling. Garnish the soup with the scallions and serve.
The onion soup recipe can be prepared through Step 2 and refrigerated for up to 2 days.