Warm the vegetable stock. Peel the onions and shallots then cut them in half. Lay the them flat on a chopping board and thinly slice to create half moon pieces. Heat the butter and oil together in a medium sized pan and once melted add the sliced onion and shallot. Keep the heat up high and continue to stir until they begin to turn caramel in colour. Add the cardamom and bay leaf and turn the heat down to medium, keep an eye on the pan, making sure the onions don’t stick to the bottom of the pan. The sugars in the onion and shallot are now starting to caramelise and they will stick easily if you don’t mix well, allow the onions to turn a dark caramel colour.
Put the flour into a roasting tray and place in a hot oven for 6-8 minutes. Toast the flour until it turns a light golden colour, remove the flour, allow it to cool for a minute or two then sprinkle it into the cooking onions and stir to combine. Add the warm vegetable stock, stir to incorporate and add salt and pepper to taste.
Toast the bread lightly and brush one side with the garlic, on top of the brushed garlic side, evenly distribute the cheese and lightly melt the cheese in the oven. Pour the soup evenly between 4 bowls, place a piece of toast on top of each. Chop the spring onions into thin ringlets and sprinkle on top of each bowl and serve warm.