Heat a tablespoon of olive oil in a pot and sweat the carrots, celery, leeks, onions, garlic and bay leaves over low heat for 10 minutes, stirring now and then.
Add the beans, tomatoes and paste and stir to combine. Add the stock, chilli flakes and season with salt and pepper.
Bring to the boil then reduce heat to a simmer and cook for 20 minutes. At this point you can purée 1/3 of the soup in a blender and return to the pot – but this is optional.
Add the cavolo nero and simmer for a further 10 minutes. Check the seasoning.
Rub the bread slices with the garlic and then chop into cubes. Divide the bread among your bowls and then ladle the hot soup over it.
Sprinkle with the parsley and Parmesan if using and serve with extra bread on the side.
Notes
You can use kale instead of cavolo nero and add more vegetables (such as courgettes) if you like.