In a saucepan over a medium heat, melt the butter and add the onion, garlic and celery. Cook and stir for a few minutes until soft. Add the remainder of the ingredients, except the cream, and allow to simmer gently for 20 minutes.
Purée the soup using a hand-held liquidiser then add the cream and mix well. Serve hot in warmed bowls.