Heat the butter and oil in a large pan over a low heat. Add the onion and leek and stir well
until coated in butter. Cover and cook for 5 minutes until softened and translucent.
Sprinkle over the flour. Cook, stirring, for 1 minute. Pour in the stock and add the potatoes.
Bring to the boil, then lower the heat and simmer for 10 minutes. Stir in the hearts of palm and
the cream, and simmer gently for 10 minutes.
Process in a blender or food processor until smooth. Return the soup to the pan and heat gently,
adding a little water if necessary. The consistency should be thick but not too heavy. Season with
salt and ground black pepper. Ladle the soup into heated bowls and garnish each with a pinch of
cayenne pepper and a scattering of fresh chives. Serve immediately.