1Heat a wide pot or cast-iron on medium heat. Add the butter and let it blister.
3Add the onion and cook uncovered. Let them sit for about four minutes and then stir. Repeat until the onions have all begun to brown, at least twenty minutes.
5Add the olive oil, garlic, and shallots and stir once every minute, until the garlic and shallots have caramelized.
7Add 2 1/2 cups of the beer and crank the heat to just shy of high. Let the beer boil off until there is half as much beer volume as onion volume.
9Add the stock, bay leaves, thyme leaves, and white pepper. Cook until the liquid has reduced by about two finger widths. Taste the soup and add salt to adjust. Cook for at least an additional twenty minutes before garnishing. In an ideal world, you would let the soup sit a day before serving it. (Just be sure to reheat it.)
11Take a slice of sourdough and cut it to fit your bowl or cup. Set atop the soup and cover with several slices of Gruyère. Broil until brown and serve hot, topped with extra thyme.