Melt the butter in a large pan on a medium heat. Add the onion, leek, potatoes, carrots and celery and cook gently for approx 4-5 minutes making sure the vegetables do not brown.
Add the stock and simmer for 30 minutes. Purée the soup using a food processor or hand blender. Then stir in the milk and flour and cook until the soup is thickened.
Chop cooked chicken finely or shred it and add to the soup. Season the soup with salt and pepper. Then add in the single cream leaving a small amount to swirl on top for serving. Cook the soup for a further 4-5mins.
Divide into bowls, swirl with cream and garnish with flat leave parsley.