In a large saucepan, melt the butter and olive oil. Once the butter and olive oil are hot, add the chopped onions to the pot. Cook on high heat until they start to brown.
Continue to cook on low heat for about 15 minutes, or until the bottom is browned and the onions are tender.
Then, add the chopped garlic cloves and the thyme leaves. Let simmer for 5 minutes.
Stir in the beef stock, red wine and vinegar. Make sure to scrape the bottom of your pan. Bring to a boil again, then reduce heat and simmer for another 20 minutes.
Season to taste with salt or pepper.
Just before serving, cut the baguette in 1cm-thick slices. Then brush both sides with olive oil. Toast both sides under the grill of your oven or roast in a dry frying pan.
Sprinkle one side with grated cheese. Place the other side under the grill to melt the cheese. Serve the soup in bowls. Top with the cheesey toast.