Heat the butter and oil in a large saucepan, add the onions and cook, stirring frequently, over low heat for 45 minutes, or until softened and golden brown.
It is important not to rush this stage - cook the onion thoughly so that it caramelises and the flavours develop.
Add the vegetable stock, sherry and 250 ml of water. Bring to the boil, then reduce the heat and simmer for 30 minutes. season to taste.
Meanwhile, slice bread into four thick slices and arrange in a single layer under a hot grill. Toast one side, turn and sprinkle with parmesan and toast until crisp and golden and the cheese has melted.
Put the toasted bread into serving bowls. Ladle in the hot soup, sprinkle with cheese and parsley and serve.