In a saucepan over a medium heat, melt the butter and gently cook and stir the courgettes until soft, about 5 minutes. Stir in flour and cook for 1 minute. Mix in the stock and bring to the boil then reduce the heat and simmer for 15 to 20 minutes.
In a food processor, or using a handheld liquidiser, puree the soup until smooth. Return to the heat and stir in cream, salt and pepper. Ladle into warm bowls and serve.