Prepare the shallots, pouring a kettle of boiling water over them leave to soak for 2-3 minutes then drain and run under cold water. They should now be easier to peel. Peel and finely slice ready to cook.
Melt the butter in a large, heavy based saucepan with a lid.
Tip the shallots, garlic and sugar into the pan. Stir well then put the lid on the pan and cook for 20 minutes stirring occasionally.
When the shallots are softened and browned, stir in the cider and the stock, season, add the bay leaf and bring to a simmer. Cook, with the lid on, for an hour.
When ready to serve, heat the grill, toast the bread and slice the cheese into 4. Ladle the soup into 4 bowls. Put a slice of cheese on each piece of toast and lay one in each bowl. Put the bowls under the hot grill until the cheese is melted and bubbling.