Heat 2 tbsp oil in a deep saucepan over a medium-low heat and fry the leek, celery and garlic for 15 mins, stirring occasionally, until softened and translucent.
Add the thyme and crushed chillies (if using), fry for 1 min more, then add the cannellini beans and 100ml water. With a hand blender (or a potato masher), purée or mash two-thirds of the mix until smooth.
Add the hot vegetable stock and bay leaf, then simmer for 10 mins.
Meanwhile, make the lemon and garlic breadcrumbs. Warm the oil and the whole garlic cloves in a small frying pan over a low heat for 5 mins until the garlic is golden and soft and the oil is fragrant.
Add the thyme leaves and breadcrumbs; season. Fry, stirring continuously, for 3-5 mins until golden and crisp. Remove from the heat and leave to cool slightly. Thinly slice the garlic, then stir back into the breadcrumbs along with the lemon zest.
Add the cabbage to the soup pan and cook for 4 mins. Stir in the spinach and simmer for 2 mins more, or until the spinach has wilted and the cabbage is tender.
Spoon into bowls, discarding the bay leaf, then scatter with the crispy breadcrumbs to serve.
