In a soup pot, melt butter over low heat.
Add leeks and cook, stirring frequently, until tender, about 15 minutes.
Stir in potatoes, apples, stock and cider and bring to a boil.
Reduce heat and continue cooking until potatoes are tender, about 25 minutes.
Using a hand blender in the pot or working in small batches in a food processor, purée soup until smooth (or desired consistency). If the soup is too thick, add more apple cider or broth.
Season with salt and pepper.
Reheat soup in the pot and, if using, add cream.
Ladle into bowls and drizzle a little crème fraiche or plain yogourt over the top and garnish with apple slices.
Serve soup hot or cold with whole wheat dinner rolls or bread sticks.