1. Melt butter and vegetable oil in a large pan and add the onions, 3⁄4 of the thyme and a large pinch of salt. Cook gently for 1 hour, stirring regularly, until the onions are caramelised. Add the garlic and sugar for the final 15 minutes of cooking. Pour in the beef stock, bring to the boil and season. Simmer for 30 minutes until reduced a little and the onions have combined with the stock.
2. Toast the french bread baguette, then add the swiss cheese, remaining thyme and Worcestershire sauce. Divide the soup into 4 bowls, and heat the grill to high. Put the bread pieces on top of each bowl of soup and grill for 2-3 minutes until the cheese is melted.