Peel, half and thinly slice onions.
Melt butter in a large, heavy-based pot over low heat.
When butter starts to foam add onion and cook, stirring regularly, for 30 minutes or until deep golden.
Sprinkle flour over the caramelised onions and stir for 2 minutes to cook the flour.
Add the stock and bring to the boil. Reduce heat and simmer for 15 minutes, stirring once or twice.
Remove from heat and season to taste with salt and pepper.
While soup is cooking preheat griller to high and toast the bread on one side. Turn bread over, top with cheese and toast again until cheese is melted and golden.
Divide soup across bowls, sprinkle with parsley and top with gruyere croutons. Serve immediately.
