Heat the oil in a saucepan. Add the onion, leek, celery, carrots, fennel and celeriac and cook gently over a low heat for 8–10 minutes, until starting to soften but not browned. Pour over 1 litre (1¾ pints) of boiling water and season with salt and pepper. Bring to the boil and simmer for 10–15 minutes, adding the peas and beans for the last minute of cooking.
Meanwhile, juice the spinach. Pour the juice into a small bowl, add the pesto and stir to combine.
Ladle the soup into bowls, stir a spoonful of the pesto into each bowl of soup and garnish with a few basil leaves.