SOUP: In dutch oven, melt butter over medium heat. Add onions and salt, cover and cook until softened, stirring occasionally about 15 minutes. Uncover and cook until caramelized, about 30 minutes more.
Stir in flour; cook 2 minutes. Stir in remaining ingredients. Simmer, partially covered about 30 minutes. Remove bay leaf. Cool and refrigerate till next day.
CROUTON BREAD SLICES: Preheat oven to 375°F Mix olive oil with garlic powder and brush both sides of bread slices with the oil mixture. Place on baking sheet and bake 12 minutes, turning once, until bread is slightly toasted. Set aside.
TO SERVE: Preheat broiler. On stovetop, heat soup to a simmer. Ladle soup into 4 broiler safe bowls. Top with french bread slices and cheese. Place bowls on baking sheet and broil 4" from heat until cheese is bubbly. about 2 minutes. Garnish with fresh chopped parsley.
PASTRY PUFF VARIATION: Preheat the oven to 400°F Roll out one sheet of puff pastry and sprinkle with half the Gruyere cheese, fold into 3 and roll out again. Cut out 4 lids. Divide the soup among ovenproof soup bowls. Sprinkle the remaining cheese on top of soup and cover with the pastry lids with a little egg wash seal. Bake the soup in the oven for 15 minutes or until the cheesy puff pastry is golden in colour and well risen.