For the soup, heat the oil in a large soup pan and gently saute the onions, garlic, carrots, celery and leek over a medium heat until it all starts to soften.
Add the tomato puree and stir well.
Add the remaining ingredients and cover with vegetable stock, adding more if you want a watery soup. I wanted a thick, chunky soup so I only used 1 litre.
Cover and simmer gently for 20-25 minutes until all the vegetables are tender.
To prepare the pesto, pop all the ingredients in a blender and pulse until it reaches the desired consistency. I left mine rather chunky so there were bits of nuts to chew in each mouthful of soup.