Peel then thinly slice the onions.
Heat the oil a large, heavy-based pan over medium heat. Add the butter. Once it melts, add the sliced onions and then reduce the heat to medium-low. Cook gently for about 25 minutes, stirring occasionally, until the onions are soft and golden brown.
Stir in the balsamic vinegar and mustard, then cook for five minutes.
Add the stock and herbs then bring it to a boil. Reduce the heat, cover the pan and simmer for 15 minutes. If the soup is too thin, turn the heat up and let it bubble until you get smooth, single-cream consistency.
Meanwhile, put the baguette slices on a baking sheet (covered with baking paper). Toast them in the oven under the grill for a couple of minutes. Take the baking sheet out of the oven and sprinkle some cheese on top of the toasts. Grill for a minute or so until the cheese melts.
Season the soup with salt & pepper to your liking, remove the herbs, then ladle it into bowls and top with a cheesy toast. Sprinkle the remaining cheese around the floating toast.
Serve immediately.