Melt the butter in a Dutch oven over medium-low heat. Add the onions and salt, and give it all a thorough toss. Cover the pot with its lid and let it simmer and cook the onions for about 15 minutes.
Remove the lid and stir the onions. They should be very soft and they’ll have released a lot of water. If it’s bubbling viciously, reduce the heat for a steady simmer. Let them continue to cook, uncovered, for another 30 to 45 minutes, but come around and give them a stir every 10 minutes or so to check on things. The buttery onion water will reduce during this time.
At the end of this cooking time you’ll notice a few brown bits develop and the onions will become more golden. This is when you need to be more present. Continue cooking the onions, but scrape and stir them every three to five minutes. They’ll begin to darken. Do this until you’re happy with the color of your onions. If they ever become too dry, you can add a splash of water to help deglaze the fond on the bottom of the pot.
Stir in the sherry vinegar and wine, then add the broth and herbs. Let this simmer together for 20 minutes on low heat. You can cover the pot, but crack the lid.
Meanwhile, top the bread slices with cheese. (Classically a gruyère is used but you can use Swiss, pecorino, provolone, or anything with a little bite.) Broil the sliced bread to melt the cheese.
Remove the herbs from the soup. If you have extra stale bread, chop it up and drop some into the bottom of each soup bowl. Spoon the soup into the bowls and shave some cheese over it. Then top each serving with a slab of cheesy bread.
