Sweat the onions, celery and crushed garlic in the oil and butter in a large pan over a low heat (with the lid on) for 10 minutes until softened but not browned.
Add the carrots and gently fry for another 2 minutes stirring constantly.
Add the tins of tomatoes.
Make up the stock with boiling water and add to the pan.
Bring to the boil and simmer for 25 minutes.
Add the chopped dill and season.
Allow to cool and liquidise (unless like me you have a stainless steel hand blender which negates the need to cool).
Pour the soup back into the pan and stir in the cream.
Adjust the seasoning if necessary.
Bring back to serving temperature.
Garnish with a swirl of cream and a sprig of fresh dill and serve with crusty bread.