This is my favourite onion soup recipe. It doesn’t contain any, let alone a whole bottle of, wine as many recipes do. As a result the deep flavour comes from the slow caramelisation of the onions and the stock.

Serves 4 as a starter or 2 as a meal


large knob of butter

4-6 large white onions, halved and very thinly sliced

1 tbsp plain flour

800ml of good beef stock (you can use fresh beef stock if you have it but I often use Knorr concentrated beef stock which comes in a little bottle)

salt and pepper

2 bay leaves

2 sprigs thyme, leaves stripped from the sprig (optional)

8 thick slices of baguette

2 handfuls grated Gruyère or Emmental cheese


  1. Melt the butter in a large pan on a gentle heat. Add the onions and stir to coat in the butter.
  2. Cook the onions slowly over a low heat until they become caramelised. You need to leave them to do this gently even though it can take quite a while. This is what develops the flavour of the soup.
  3. When the onions are caramelised stir in the flour. Keep stirring and cook out for a minute or so.
  4. Add some of the stock and stir well so that the flour combines well and doesn’t leave any lumps. Add the rest of the stock.
  5. Season with pepper, add the bay leaves and the thyme if using. Taste before adding salt – it might not need any.
  6. Simmer for 30 minutes or so.
  7. Grill the slices of baguette on both sides.
  8. Spoon the soup into bowls, place the baguette slices on top. Sprinkle with the cheese and put under the grill for a minute or so until the cheese melts. Serve and enjoy!