Step 1Melt the butter in a soup pot. Add the onions and cook over medium heat until translucent, about 7 or 8 minutes.
Step 2Add the potato, celery and chicken stock or broth. Bring to a boil, then reduce the heat and simmer until the potatoes and celery are very tender, about 20 minutes.
Step 3Puree in a food processor or blender (you'll need to do this in two or three batches), then pass the soup through a medium sieve, pressing the solids with the back of a wooden spoon.
Step 4Pour into a clean pot, add the salt and pepper to taste, then stir in the cream, if desired. The soup may be kept warm on low heat until ready to serve.
Step 5Cut the celery leaves into chiffonade and garnish the soup before serving.