Melt the butter in a large saucepan over a medium heat, add the onions and garlic and stir well to combine. Reduce the heat and cook the onion mixture slowly for 20-30 minutes, stirring occasionally, until the onions have softened and are caramelised. Take care not to burn the onions as this will only make the soup bitter.
Increase the heat in the pan and pour in the white vermouth, keep stirring and reduce the wine by half.
Add the beef stock to the pan, along with the bouquet garni, salt & pepper. Bring the soup to the boil, before reducing to a simmer. Place the lid on the pan and cook gently for 30 minutes.
Meanwhile place 4 slices of thick cut French baguette on a tray and place under the grill. Lightly toast both sides of the bread.
When the soup is ready check the seasoning and then ladle into some oven proof bowls. It is easier when the bowls are placed on an oven-proof tray first as it makes them easier to handle.
Place a piece of bread on top of each bowl, sprinkle over some grated gruyere cheese and some chopped parsley. Place the tray back under the grill until the cheese has melted and is bubbling. Serve the soup immediately.