The secret of this rich, warming soup lies in the slow cooking of the onions and leeks, in just a little butter and oil, until lightly caramelized. Thinly sliced potatoes add extra carbohydrate and help to thicken the stock.
Heat the butter with the oil in a large pot. Add the onions, leeks and water. Cook over a medium heat for 7-8 minutes, stirring frequently until they begin to soften. Turn down the heat to very low, cover and cook gently for 20-25 minutes, stirring occasionally. Increase the heat slightly, add the garlic, thyme and sugar and cook, stirring, for 1 minute. Then add the vinegar and continue cooking, stirring frequently, for 3-4 minutes until the onions and leeks are light golden.
Peel the potatoes, cut in half lengthwise and thinly slice. Add to the onion mixture with the stock. Bring to a boil, then reduce the heat, cover and cook for 15-20 minutes until the potatoes are tender and just beginning to break down and thicken the soup. Season to taste.
Meanwhile, prepare the croûtes. Preheat the broiler. Trim the crusts off the bread and cut each slice into four triangles. Place on a grill rack and toast very lightly on both sides. Gently rub one side of each croûte with the cut surface of the garlic, then spread with a thin layer of mustard. Top with the cheese and walnuts, pressing down gently.
Put the cheese-topped croûtes back under the broiler and toast until the cheese is just starting to bubble and brown and the walnuts are lightly toasted.
Sprinkle the soup with snipped chives, then serve with the Gruyèrecroûtes on top of the soup.
Cook's tip: Sherry vinegar is matured in wooden barrels by methods similar to those used for sherry itself. It has a rich, mellowflavour that makes it popular in cooking. If sherry vinegar is unavailable, you can use red wine vinegar instead.
Variation: For a vegetarian soup, use a good vegetable stock instead of beef stock and stir in 1⁄2 teaspoon yeast extract for a richer flavour and colour. For the croûtes, use a Swiss-style non-animal rennet cheese as Gruyère is not suitable for strict vegetarians.
Each serving: 17 g protein, 23 g fat of which 7 g saturates, 29.5 g carbohydrate, 7 g fibre, 408 Calories