Peel and slice the onions thinly.
Melt the butter in a large pan, then add the oil.
In goes the sliced onion.
Sprinkle over the salt and sugar, place the lid on, and leave to cook on a low heat for 20 minutes, stirring occasionally.
Peel and chop the garlic, and add it to the onion.
Continue to cook the onions and garlic without a lid until you get a deep golden brown (but not burnt) colour.
Add the flour, give it a stir, then pour in the beef stock.
Place the lid back on, and cook for a further 20 minutes. If you feel that the soup is too thick, add more broth.
Arrange the baguette slices on a roasting tray, divide the grated cheese evenly, then grill/bake until the cheese is melted.
Serve the soup hot with the cheesy baguette slices and optionally, with chopped spring onions.