Heat the olive oil in a large saucepan over a medium heat.
Add the onion and cook for 3–4 minutes until softened but not coloured then stir in the garlic, celery and carrot and cook for a further 2–3 minutes.
Stir in the dried rosemary or thyme, then add the cannellini beans and vegetable stock.
Bring to the boil, then reduce to a simmer for about 15 minutes.
Remove two ladles of soup to a blender and puree until smooth.
Stir in the blended soup.
Stir in the chopped kale and simmer for a further 5 minutes, until tender.
Add the lemon zest and juice, then season with salt and freshly ground black pepper to taste.