Preheat oven to 200c or 400f / gas 6.
In a large pan melt the butter, stirring often and season well. Add the onions and cook for 20-30 min. to achieve a rich brown colour. Stir every 2-3 min. to prevent burning.
Sprinkle the flour on a baking sheet and place it in the oven for approx. 10 min., until lightly coloured. Then stir it into the onions and mix.
Gradually stir in the wine and one third of the water, mix well and add the remaining water.
Bring to the boil, then simmer for 15 min., taste and adjust seasoning if needed, add the sugar.
Arrange bread on a baking tray, sprinkle with the grated cheese and place it in hot oven to brown it slightly. Place soup in bowls, top it up with the bread and serve.
If using toasting bread, cut it diagonally before serving to make it more accessible and visually appealing.