In a large heavy-bottomed pot or Dutch oven, melt the butter and olive oil over medium heat. Add the sliced onions and a pinch of salt. Cook, stirring occasionally, for 35–45 minutes until the onions are soft and a deep caramel brown.
Add the minced garlic and thyme. Cook for another 2 minutes until fragrant.
Pour in the sherry (or wine) and use a wooden spoon to scrape up all the brown bits (the fond) from the bottom of the pot. Let the liquid reduce by half.
Add the chicken stock and balsamic vinegar. Bring to a simmer, then reduce the heat to low and let the flavors meld for 20 minutes. Season with salt and pepper to taste.
While the soup simmers, lightly toast the bread slices in the oven or a toaster until golden and firm.
Preheat your broiler. Ladle the soup into four oven-safe crocks. Top each with a slice of toasted bread and a generous handful of Gruyère.
Place the crocks on a baking sheet and broil for 3–5 minutes until the cheese is melted, bubbly, and toasted brown in spots.
Sprinkle with finely minced chives and serve immediately alongside a properly poured stout.