Heat a large soup pot over a medium low heat and add the olive oil, leek, shallot, garlic, celery, salt, carrots and zucchini and cook slowly for 15 to 20 minutes so that the vegetables sweat out their flavours and don't brown.
Stir the tinned tomatoes into the vegetables and cook for a few minutes.
Add the cavolo nero stalks,, butter beans and cannellini beans, half the basil and parsley and stir through the mixture (I like to squash some of the beans into the mix at this point to release their flavour and help thicken the soup) and cook for 10 minutes.
Add the vegetable stock and bring the soup to the boil before lowering to a simmer for 25 to 30 minutes.
Just before serving add the cavolo nero leaves and remaining basil and parsley.