Preheat grill on high.
Finely slice the onions into rings.
Heat the olive oil in a large deep saucepan. Add butter and bay leaves, and saute the onions on medium heat for about 20 minutes, stirring frequently, until they are soft and translucent. Season with salt and pepper, and add vinegars and red wine, along with chilli flakes if using.
When the onions have darkened and caramelized, add beef stock, coconut sugar, thyme and oregano. Lower heat, and simmer for 15 minutes, stirring occasionally. Season to taste.
Meanwhile, prepare your croutons by slicing your baguette into long ovals. Place the slices on a baking tray, and toast lightly under the grill. Once toasted, remove from the grill, drizzle croutons one the lighter side with olive oil and season with salt and pepper. Arrange slices of aged cheddar and gruyere alternately on the top of each slice and return to the grill. Cook until cheese has melted, making sure bread doesn’t catch.
Serve soup topped with croutons. For an extra-cheesy version, arrange croutons on the soup, add a little more cheese and grill quickly for a minute to finish.