Last Updated on November 3, 2025
The first time I ate Ribollita, that famous Tuscan vegetable soup, was in the early 1990s. I was on a road trip in the region and had eaten my fill of Bistecca Alla Fiorentina and other meat-based specialities. My budget was suffering and one day, in Florence or Sienna – I forget which now – I found one of those hole-in-the-wall eateries that I would not have entered without the encouragement of The Rough Guide. These were the olden days when one travelled with a book as a guide. This particular series had a talent for finding off-the-beaten-track places with low-to-moderate prices. The tiny room was filled with men – some clearly on their lunch break, others retired. I was the only woman and the only tourist. It was here I discovered the joys of ribollita.

I sat at a small, unadorned table while the restaurant manager – there were no waiters – rattled off a list of items that I could barely comprehend with my traveller’s Italian. Hence, I ended up eating what everyone else seemed to be enjoying – a large bowl of steaming soup. It was my introduction to ribollita. So outstanding was this simple meal that I set about tracking down a bag of the beans to take home and replicate the dish. This was before tinned cannellini beans were available to me. Sadly, I discovered that the black cabbage, an essential ingredient, was not sold in my country. Since moving abroad, I have made this soup countless times over the decades and am reminded of it whenever I buy a bag of cavolo nero. Whenever I eat it, I am transported back to a younger, joyful time of exploring foods new to me and marvelling at the wonders of travel.
As with many peasant soups, beans are an essential component, and stale bread is used as a thickener. I used sourdough, tinned beans – I am sure the soup is improved if you soak your own overnight, but I am frugal with time here – and homemade chicken stock. A soup rises and falls on the quality of the stock, so I encourage you to make bags of stock and freeze them. In the run-up to Christmas, I discovered my small freezer was full of chicken carcasses I had collected over months until I had enough to make stock. I made a vat full and froze quantities in small sandwich bags. Frugal and delicious. I like to chop the vegetables in a rustic way while keeping the pieces roughly the same size. I didn’t have any celery to hand, but if you do, add a rib or two, chopped. I seasoned the ribollita very simply with a bay leaf (I have a tree outside my kitchen door) and a pinch of pul biber chilli flakes because I have yet to discover any savoury dish that is not improved with these. A final flourish – drizzle a generous amount of your best extra virgin olive oil on the soup as you serve it, as this adds a wonderfully peppery note. As with any soup, try to make it the day before. Ribollita means ‘twice boiled’ – the soup originates from leftovers, which suggests to me that reheating is intended.
Ribollita
Ingredients
- 1 tbsp olive oil
- 1 onion chopped
- 1 shallot chopped
- 3 large garlic cloves chopped
- 2 carrots chopped
- 2 courgettes chopped
- 200 grams cavolo nero roughly torn off the stalks
- 1 tin cannellini beans drained and rinsed
- 1 litre chicken stock or vegetarian or vegan stock
- 1 bay leaf
- 1 pinch pul biber flakes
- salt and pepper to taste
- 2 slices sourdough bread or other rustic bread torn into bite sized pieces
- extra virgin olive oil use to garnish the soup
Instructions
- Heat the olive oil in a large pot – I like to use a heavy bottomed one for soup.
- Add the chopped onion, carrot and shallot and soften for a few minutes on a medium heat.
- Add the chopped garlic and continue cooking gently until you can smell the garlic. Now add the chopped courgette and continue to cook for about 10 – 15 minutes until the vegetables are soft. Add the cannellini beans.
- Add the chicken stock – or vegetable or vegan stock if you prefer – and stir to combine. Continue to simmer for a 5 – 10 minutes.
- Add the torn cavolo nero leaves and stir gently to combine with the other ingredients.
- Add the torn bread and gently push the bread chunks into the liquid so that they absorb the soup. Cook for 5 minutes. Season.
- At this stage you can cool the soup and store in the fridge until the following day.
- Reheat the soup and serve with a good drizzle of your best extra virgin olive oil on top of each bowl.


Leave a Reply