Ribollita, which translates literally as ‘reboiled,’ has fed Tuscany through lean winters for centuries. Originally a peasant strategy for stretching yesterday’s minestrone with stale bread, it has since been elevated by chefs from Florence to New York who recognize that the slow melding of cannellini beans, cavolo nero (Tuscan black kale), carrots, celery, and torn sourdough produces something far greater than the sum of its humble parts. The bread dissolves into the broth, creating a porridge-thick texture that is simultaneously rustic and deeply luxurious, finished with a bold drizzle of peppery extra-virgin olive oil.
From a nutritional standpoint, ribollita is a quiet overachiever. Cannellini beans contribute non-heme iron and calcium, cavolo nero layers in vitamin K, vitamin C (which enhances that iron absorption), and additional calcium, while the whole-grain sourdough adds resistant starch and B vitamins. A single generous serving clocks in at roughly 36% of the Daily Value for iron, 38% for calcium, and an impressive 52% for dietary fiber. This is not an accidental nutrient profile; it is the result of ingredients that have been feeding Mediterranean populations to robust health for millennia.
At Calibrated Cuisine we have tested this recipe across three distinct cooking methods, each of which changes the character of the finished dish in subtle but meaningful ways. The stovetop version gives you maximum control and a deeply caramelized soffritto base. The slow cooker produces a remarkably silky, hands-off result that is ready when you walk in the door. The pressure cooker compresses hours of flavor development into under 45 minutes. An optional oven-baked finish, traditional in Florentine restaurants, creates a crackling, golden crust on top that contrasts beautifully with the creamy interior. Choose your method, but do not skip the finishing drizzle of olive oil. It is not garnish; it is nutritional architecture.
4
servings
Ingredients
- 400 gcanned cannellini beans, drained and rinsed (or 200g dried, soaked overnight and cooked)
- 300 gcavolo nero (Tuscan black kale), stems removed, leaves roughly torn
- 200 gday-old whole-grain sourdough bread, crusts on, torn into 3cm chunks
- 200 gsavoy cabbage, roughly shredded
- 2 mediumcarrots, peeled and diced into 1cm cubes
- 2 stalkscelery, diced into 1cm pieces
- 1 mediumyellow onion, finely diced
- 4 clovesgarlic, thinly sliced
- 400 gcanned whole peeled tomatoes, crushed by hand
- 1200 mlvegetable stock, low sodium
- 3 tbspextra-virgin olive oil, plus extra for finishing
- 2 sprigsfresh rosemary
- 3 sprigsfresh thyme
- 1 pieceParmesan rind (optional, adds depth and calcium)
- 1 tspsmoked paprika
- —Fine sea salt and freshly cracked black pepper to taste
- —Freshly grated Parmesan for serving (optional)
Instructions
🔧 Equipment
- Build the soffritto: Heat 3 tablespoons of olive oil in a large Dutch oven or heavy-based pot over medium heat. Add the diced onion, carrots, and celery with a generous pinch of salt. Cook, stirring occasionally, for 10 to 12 minutes until the vegetables are fully softened and the onion is translucent and just beginning to turn golden at the edges. Do not rush this step; the caramelization here is the flavor foundation of the entire soup.
- Add the garlic slices and smoked paprika to the pot. Stir constantly for 90 seconds until the garlic is fragrant and lightly golden. Add the hand-crushed canned tomatoes with all their juices. Increase the heat to medium-high and cook, stirring occasionally, for 8 minutes until the tomato paste has darkened in color and the mixture looks jammy and concentrated.
- Add the cannellini beans, vegetable stock, rosemary sprigs, thyme sprigs, and Parmesan rind if using. Bring to a rolling boil, then reduce heat to a gentle simmer. Cook uncovered for 15 minutes to allow the beans to absorb the flavors of the broth. Use the back of a wooden spoon to lightly crush approximately one quarter of the beans against the side of the pot; this releases starch and begins the thickening process naturally.
- Add the torn cavolo nero and shredded savoy cabbage. Stir to submerge the greens, then continue simmering for 10 minutes until the cavolo nero is completely tender and has turned a deep, glossy olive-green. Remove and discard the rosemary sprigs, thyme sprigs, and Parmesan rind.
- Add the torn sourdough bread chunks to the pot. Stir vigorously so the bread begins to break down into the liquid. Reduce heat to the lowest possible setting and cook, stirring every 2 to 3 minutes, for a further 10 to 12 minutes until the soup has thickened to a porridge-like consistency where a spoon dragged across the surface leaves a trail. Taste and adjust seasoning generously with salt and cracked black pepper. Ladle into deep bowls and finish each serving with a bold drizzle of your best extra-virgin olive oil and freshly grated Parmesan if desired.
- Prepare the soffritto in a skillet: Heat 2 tablespoons of olive oil in a large skillet over medium-high heat. Add the onion, carrots, and celery with a pinch of salt and saute for 7 minutes until softened and lightly golden. Add the garlic and smoked paprika, stir for 60 seconds, then add the hand-crushed tomatoes. Cook for 4 minutes until slightly reduced. Transfer the entire soffritto mixture to the slow cooker insert.
- Add the cannellini beans, cavolo nero, savoy cabbage, vegetable stock, rosemary sprigs, thyme sprigs, and Parmesan rind (if using) to the slow cooker. Stir everything together to combine. At this stage do not add the bread; it will go in at the very end. Season lightly with salt, remembering the stock will concentrate during the long cook.
- Secure the lid and cook on Low for 7 to 8 hours or on High for 4 hours. The beans should be very tender and beginning to break down at the edges, and the greens will be deeply wilted and silky. If you are home during cooking, give everything a stir at the halfway point.
- About 30 minutes before serving, remove the rosemary, thyme, and Parmesan rind. Use a large spoon to crush roughly one quarter of the beans against the wall of the insert to naturally thicken the broth. Add the torn sourdough bread chunks, pushing them down beneath the surface of the liquid. Replace the lid and cook on High for a final 25 to 30 minutes, checking every 10 minutes, until the bread has fully dissolved and the soup has thickened to a creamy, almost porridge-like consistency.
- Taste and adjust seasoning boldly with salt and cracked black pepper. The slow cooker tends to mute salt, so the soup will likely need more than you expect. Stir in 1 tablespoon of fresh olive oil directly into the pot before ladling into deep bowls. Finish each bowl with a generous drizzle of extra-virgin olive oil and optional Parmesan.
- Select the Saute function on your Instant Pot (or heat your stovetop pressure cooker over medium-high). Add 3 tablespoons of olive oil and heat until shimmering. Add the onion, carrots, and celery with a pinch of salt and saute for 6 minutes, stirring frequently, until softened. Add the garlic and smoked paprika and stir for 60 seconds. Add the crushed tomatoes and cook for 3 minutes until slightly darkened. Press Cancel to end the Saute cycle.
- Add the cannellini beans, cavolo nero, savoy cabbage, vegetable stock, rosemary sprigs, thyme sprigs, and Parmesan rind to the pot. Stir to combine. Do not add the bread at this stage as it will clog the pressure valve and produce a gummy, gluey result. Ensure the total liquid volume does not exceed the maximum fill line marked on your pot.
- Secure and lock the lid. Set the steam release valve to Sealing. Cook on Manual High Pressure for 18 minutes. When the cycle completes, allow the pressure to release naturally for 10 minutes, then carefully move the valve to Venting to release any remaining steam. Open the lid away from you.
- Remove the rosemary, thyme, and Parmesan rind. Select the Saute function again on Normal heat. Use the back of a wooden spoon to crush a generous quarter of the beans, stirring to incorporate the released starch. Add the torn sourdough bread chunks and stir continuously for 5 to 7 minutes as the bread rapidly breaks down into the hot liquid and the soup thickens to a creamy consistency. Press Cancel.
- Taste and adjust seasoning with salt and cracked black pepper. Ladle immediately into deep bowls and finish with a bold drizzle of extra-virgin olive oil and Parmesan if desired. The pressure cooker version tends to produce the creamiest bean texture of all three methods.
- Follow the complete stovetop method steps 1 through 4, building the soffritto, adding the beans and greens, and simmering the soup. At the end of step 4, when the greens are tender, do not add the bread yet. The soup should be a thick, well-seasoned broth at this point. Allow it to cool completely (or refrigerate overnight, which is the authentic ribollita approach and intensifies flavor significantly).
- Preheat your oven to 180C (350F). Transfer the cooled soup to a large, wide oven-safe pot, casserole dish, or Dutch oven if not already using one. Stir in 200ml additional vegetable stock to loosen the soup slightly, as it will have thickened during resting.
- Arrange the torn sourdough bread chunks in an even layer across the top of the soup, pressing them gently so they are about half submerged in the liquid. Do not fully stir them in. Drizzle the top generously with 2 tablespoons of extra-virgin olive oil and season with a pinch of flaky salt and cracked black pepper.
- Transfer the pot uncovered to the preheated oven. Bake for 35 to 40 minutes until the bread on top has toasted to a deep golden-brown crust and the edges of the soup are bubbling vigorously. The crust should feel crisp when you tap it lightly with a spoon.
- Remove from the oven and allow to rest for 5 minutes. To serve, break through the golden bread crust with a large spoon, scooping down to capture both the crisp top and the creamy soup beneath. The contrast of textures, crunchy crust and molten, velvety bean soup, is what makes the oven method unique. Finish each bowl with a drizzle of your best olive oil and grated Parmesan if desired.
Nutrition Breakdown
Per 1 serving (makes 4)
Vitamins & Minerals
% Daily Value based on a 2,000 calorie diet (FDA reference)
🧬 Essential Amino Acids
% of recommended daily intake (RDA) per serving
🛡 Antioxidant Profile
The Nutrition Science
The iron story in ribollita is a tale of synergy. Cannellini beans provide approximately 3mg of non-heme iron per 100g cooked, which on its own is poorly absorbed at roughly 5 to 12% bioavailability. However, cavolo nero supplies between 60 and 70mg of vitamin C per 100g, and vitamin C consumed alongside non-heme iron converts ferric iron (Fe3+) to the more soluble ferrous form (Fe2+), increasing absorption by as much as 3 to 6 fold. The practical implication is that the traditional Tuscan combination of beans and dark greens in a single bowl is, unknowingly, a masterpiece of iron bioavailability engineering predating modern nutrition science by several centuries.
Cavolo nero is the calcium anchor of this dish, providing roughly 150mg per 100g cooked, which is meaningfully higher than its cousin curly kale and nearly half the density of cow’s milk per calorie. Crucially, the calcium in cavolo nero is bound to a relatively low level of oxalic acid compared with spinach, which means bioavailability is estimated at 50 to 60%, substantially higher than spinach’s 5%. The Parmesan rind, an optional but strongly recommended addition, dissolves collagen and calcium phosphate into the broth during the long cook, adding a further 80 to 100mg of highly bioavailable calcium per serving without contributing significant saturated fat.
The 14g of dietary fiber per serving deserves particular attention. Cannellini beans are rich in both soluble fiber (which forms a viscous gel in the gut, slowing glucose and cholesterol absorption) and resistant starch (which escapes digestion in the small intestine and feeds beneficial Bifidobacterium and Lactobacillus species in the colon). The whole-grain sourdough contributes additional arabinoxylan fiber and, importantly, the fermentation process during sourdough production partially breaks down phytic acid, the mineral-binding antinutrient found in whole grains, further improving the net bioavailability of the iron and zinc already present in this dish.
Pro Tips
- Day-old or stale bread is not just traditional; it is structurally important. Fresh bread will turn gummy and clumpy rather than dissolving evenly into the soup. If your bread is fresh, spread the torn chunks on a baking sheet and dry them in a 150C oven for 15 minutes before using.
- To maximize iron absorption, avoid drinking coffee or black tea within 60 minutes of eating ribollita. Tannins in both beverages bind non-heme iron in the gut and can reduce absorption by up to 60%. A small squeeze of lemon juice stirred into each bowl at the table is a traditional Tuscan finishing touch that also boosts iron bioavailability via vitamin C.
- Ribollita genuinely improves on day two and three as the bread continues to absorb liquid and the flavors meld further. Store leftovers in the refrigerator for up to 4 days. To reheat, add a splash of stock or water as the soup will thicken considerably when cold, and stir over medium heat until piping hot throughout.







ok this is right up my alley because ive been experimenting with sprouting my own cannellini beans and the bioavailability difference is honestly wild, the phytic acid reduction alone makes such a difference for absorption. my question is do you know if theres a best way to incorporate sprouted beans into ribollita without losing that creamy texture they get from cooking down, or does soaking the sprouts first help maintain the broth consistency? also cavolo nero is literally my kids favorite green to sneak into basically everything so im obsessed that theyre getting all those minerals in one bowl, my son actually asked for seconds last week which never happens lol
Log in or register to replyOh Sylvia, how wonderful that you’re sprouting your own beans! I did the same thing years ago when I was teaching, and I remember being absolutely amazed at how much lighter and easier to digest they became. Your point about phytic acid is exactly what I’ve noticed with my students too, especially the ones with sensitive digestion. I’m planning to make ribollita for next month’s class and I’m actually going to suggest sprouted cannellini as an option now, since you’ve reminded me how much that step elevates both the nutrition and the texture of the final soup. Have you found a particular sprouting time that works best for you before you cook them down into the soup?
Log in or register to replyok so this is my kind of recipe but im curious about the calcium iron thing here – the post says 40% of both daily values in one bowl and thats amazing for the iron from the beans and greens, but im wondering if that much calcium from the beans might actually compete with iron absorption? ive been managing my ferritin levels through diet for years now and ive learned the hard way that pairing high calcium sources with iron rich foods can really tank your absorption, so id love to know if the author accounted for that or if theres a vitamin c element im missing. are you squeezing lemon over it, sylvia?
Log in or register to reply