Spray a large saucepan with the olive oil and add the onions and brown sugar. Cook over a low heat for 20 minutes until sticky and caramelised.
Add the garlic and cook for another minute, before stirring in the flour. Pour in the wine and bubble for 2-3 minutes until the alcohol has evaporated. Sprinkle in the stock cube, then pour in 1 litre of cold water.
Stir well to combine all the ingredients, then bring to the boil. Simmer for 20 minutes until the soup has thickened and reduced slightly.
Meanwhile, prepare the topping. Trim the bread so it will fit snugly on the top of each serving bowl. Preheat the grill to high and toast the bread on one side until golden brown.
Once the soup is ready, ladle into heatproof bowls. Top with the bread, toasted side down, then sprinkle over the cheese, making sure the bowl is completely covered. Finally, add a few drops of Worcestershire sauce and place under the grill until the cheese is golden and bubbling. Serve with a sprinkling of fresh parsley.