Slice all onions ¼" thick.
In a pan on low heat, add 2 tbsp butter and let it melt.
Add the sliced onions and saute it on low heat. Keep stirring once in 3 minutes for the first few minutes and then about once a minute until the end. It takes about 30 minutes for the onions to be golden brown in color and caramelized.
Add garlic and saute for a minute.
Add the flour and stir for another minute.
Add the wine and stir to deglaze the pan.
Add the beef / chicken / vegetable stock and stir to combine.
Add worcestershire and stir well.
Add bay leaf and fresh sprigs or dried thyme. Cook the soup uncovered until it boils. When it starts to boil, simmer for 10-15 minutes.
Discard the bay leaf and the sprigs of thyme. Add salt and pepper as required.
Meanwhile, slice the baguette into thick pieces and toast them in a tawa or in a pre-heated oven until golden.
Add grated cheese and cover and cook until the cheese melts.
Ladle the soup into serving bowls and top with the cheesy toasted baguette slice.