Melt the olive oil and butter together in a large pot. When hot, add the sliced onions and cook on a high heat until just starting to brown.
Reduce the heat to low and continue to cook for 15 minutes or until the bottom of the pan and the onions are nice and brown.
Only then add the chopped garlic and thyme leaves and let simmer for the last 5 minutes.
Add the beef stock, vinegar and red wine, stirring well to remove all the sediment from the bottom of the pan. Bring back to the boil, reduce the heat and simmer for a further 20 minutes.
Now season to taste with salt and pepper.
Just before serving: slice the baguette into 1cm thick slices and brush lightly with olive oil on both sides. Toast both sides under the grill. Top one side with grated cheese and place under the grill again to melt the cheese. Ladle the soup into serving bowls and place the cheesy toast on the top.