In a medium sized, heavy flame-proof casserole dish, melt the butter over a moderate heat. When the foam subsides, reduce the heat to low and add the onions. Cook, stirring occasionally, for 25-30 minutes, or until golden brown.
Take off the heat and with a wooden spoon stir in the flour, salt and pepper. Gradually add the stock, stirring all the time.
Return the casserole dish to the heat, turn up to high and bring the soup to the boil. Then reduce the heat again to low, cover the dish and simmer for 20 minutes.
Meanwhile, preheat the grill to high. Rub each circle of bread on each side with a garlic half and drizzle with olive oil, sprinkle with Parmesan and place under the grill until golden.
Take the casserole dish off the heat, float the toast slices on top of the soup, sprinkle the Parmesan over the toast and place the casserole under the grill for 5 minutes to bubble and brown.
Recipe courtesy of Lisa Faulkner