Over medium-low heat, melt the butter in a deep, round-bellied earthenware pot or a deep Dutch oven
Add the onions, shallot, garlic, bay leaf and thyme. Sprinkle with salt. Stir occasionally and cook until tender and caramelized, about 25-35 minutes or so (don’t turn up the flame. Take your time, the more caramelized, the more flavor). Sprinkle with pepper and stir well to combine.
Turn off the heat and add the red wine, scraping up any browned bits that have accumulated on the bottom of the pan. Discard the bay leaf and thyme sprigs, return to the heat and bring to a boil. Boil until wine has reduced by half, 6 minutes or so. Add the beef broth and Sherry. Allow to come to a low boil, cook for 10-15 minutes. Turn off the heat.
When ready to serve, use a brustolina or set the broiler on high, and toast baguette slices until well toasted on both sides.
Ladle the soup into oven-safe bowls and place a layer of toasted bread on top of soup. Top the bread with a generous layer of cheese and lightly drizzle with olive oil. Place the bowls on a cookie sheet, or in a shallow baking dish, and let them sit under the broiler until the cheese is melted. Serve immediately. Alternatively, melt the cheese on individual baguette slices separately under the broiler. Then add to the soup bowls.