Peel and dice the parsnip and celeriac into small, even pieces.
Trim the leek, then slice it thinly. Chop the garlic.
Heat the olive oil in a large saucepan over medium heat. Add the leek and sauté for about 5 minutes until softened.
Add the garlic, parsnip and celeriac, then cook for another minute, stirring well.
Stir in the caraway seeds and dried oregano.
Pour in enough vegetable stock to cover the vegetables and add the bay leaf.
Bring to the boil, then reduce the heat and simmer gently for about 20 minutes, or until the vegetables are tender.
Remove the bay leaf. Using a stick blender, blend the soup until smooth.
Add the cannellini beans and gently reheat. Add more stock if the soup is too thick.
Turn off the heat and stir in the cider vinegar. Season to taste with salt and pepper.
Serve hot with crusty sourdough bread.