Peel and crush the garlic, peel and slice the onions and shallots. Trim, wash and slice the leeks.
Put the butter, 2 lugs of olive oil, the sage leaves (reserving 8 for later) and the crushed garlic into a thick-bottomed, non-stick pan. Stir everything round and add the onions, shallots and leeks. Season with sea salt and black pepper.
Place a lid on the pan, leaving it slightly ajar, and cook slowly for 50 minutes, without colouring the vegetables too much. Remove the lid for the last 20 minutes – your onions will become soft and golden. Stir occasionally so that nothing catches on the bottom. Having the patience to cook the onions slowly, slowly, gives you an incredible sweetness and an awesome flavour, so don’t be tempted to speed this bit up.
When your onions and leeks are lovely and silky, add the stock. Bring to the boil, turn the heat down and simmer for 10 to 15 minutes. You can skim any fat off the surface if you like, but I prefer to leave it because it adds good flavour.
Preheat the oven or grill to maximum.
Toast your bread on both sides. Correct the seasoning of the soup. When it’s perfect, ladle it into individual heatproof serving bowls and place them on a baking tray.
Tear toasted bread over each bowl to fit it like a lid. Feel free to push and dunk the bread into the soup a bit. Grate over some of the Cheddar and drizzle over a little Worcestershire sauce.
Dress your reserved sage leaves with some olive oil and place one on top of each slice of bread. Put the baking tray into the preheated oven or under the grill to melt the cheese until bubbling and golden. Keep an eye on it and make sure it doesn’t burn! When the cheese is bubbling, very carefully lift out the tray and carry it to the table. Enjoy.