Ribollita (Hearty Tuscan Bean, Bread, and Vegetable Stew) Recipe

This hearty Tuscan riff on minestrone is loaded with tender vegetables and beans and thickened with bread.

Overhead view of two bowls filled with ribollita soup.

Serious Eats / Vicky Wasik

Why This Recipe Works

  • Beans and bread thicken and enrich this traditional stew.
  • A variety of vegetables create a deep, rich, flavorful soup.
  • You can control the final consistency by leaving the stew more broth-y, or cooking it down to a thicker porridge. The porridge can then be sautéed into a savory pancake.

I will admit to sometimes being inconsistent. When it comes to ricotta, I'm an inflexible pedant, insisting that since it's called ricotta (i.e., "re-cooked"), anything that isn't made from the reheated leftover whey from cheese-making doesn't count. But in the case of ribollita, a Tuscan vegetable-bread soup that literally translates as "re-boiled," I'd be the last person to demand that you boil it twice.

Sure, technically, ribollita started its life as a way to stretch leftover minestrone (vegetable soup) by adding beans and stale bread and simmering it all together. Hence the "re-boiled" moniker. But hardly anyone who makes ribollita today would start with vegetable soup on day one just to have ribollita on day two, and I'm fine with that. Ribollita, indeed, need only be boiled once.

One of my favorite things about ribollita is the wide range of textures at which to serve it. You can add just a little bread and beans, enough to give it some heft but still leave it plenty broth-y, or you can thicken it to the point where it loses all soup-like traces and becomes a porridge—which you can then cook into a pancake. Of course, there's every stage in between, too. Just take a look at the results of an image search of the word "ribollita" to see what I mean.

Making Ribollita, Step by Step

It's an incredibly easy, deeply comforting dish to make, so let's start at the beginning, which is to make a basic minestrone. First, we dice up a bunch of different vegetables, then we briefly cook them in olive oil until they're slightly softened but not browned.

Let me stop here to point something out: In this recipe, I give a precise list of ingredients and quantities. Please, please don't make the mistake of thinking you need to adhere to that list. This kind of soup is practically begging for variation. Add vegetables that you like, add vegetables that are in season, make it up, invent, improvise: You really, really can't go wrong. I always try to use some combination of the most basic aromatics, such as onion and/or its close relatives, like leeks and shallots, plus garlic, carrot, maybe celery. But beyond that, go wild! (And frankly, if you hate garlic, carrots, or celery, by all means leave them out.)

A bunch of lacinato kale, a bunch of celery, and a slender butternut squash sitting on a cutting board.

Serious Eats / Vicky Wasik

Another vegetable I do usually try to include is lacinato kale, which also goes by the names dinosaur kale and cavolo nero (and its English translation, "black kale"). It's a pretty consistent ingredient in most ribollita recipes you'll see. I like to pull the leaves from the stems, but if you simmer it long enough, even the tough stems will soften up in the soup eventually.

Next, we add a liquid, usually just water—though vegetable stock will deepen the flavor even more if you happen to have it—and an herb bundle for aromatic depth. We let our vegetable medley simmer until they're all soft and tender. There's no such thing as overcooking here... or, more precisely, you want to overcook them.

At this point, we add our cooked beans and bread. Cannellini beans are traditional, but you can use navy beans, cranberry beans, kidney beans, whatever. Canned are fine, but homemade are even better. If they're homemade, I like to add some of the bean-cooking liquid to the pot as well, just to get that delicious bean flavor to infuse into everything. (Also note that I always cook my beans with aromatics like onion and garlic, and herbs like rosemary and thyme, for improved flavor.)

As for the bread, this is another area where you're free to break with tradition. Originally, stale bread would be added to the pot as a frugal, clever way to breathe new life into an otherwise inedible loaf, while stretching the soup leftovers. But the fact is that, just as I found in my pappa al pomodoro tests, fresh bread tastes just as good and melts into the soup more quickly than dried bread. If you have stale bread, use it; if not, fresh is better than okay.

The finished ribollita is ladled into serving bowls.

Serious Eats / Vicky Wasik

At this point, your ribollita is basically done. You can serve it right away as a chunky soup, with olive oil, black pepper, and maybe a little grated cheese, or you can continue to let it simmer and thicken to your desired consistency. It'll quickly lose its soupy character and become more of a porridge.

From Soup to Porridge to Pancake

Ribollita that has been cooked to a thicker consistency is ladled into a small nonstick skillet and to fry in olive oil.

Serious Eats / Vicky Wasik

If you want to go full pancake, though, the trick is to transfer some of it to a small nonstick skillet and continue cooking it there, stirring and tossing it often. It'll just kind of bubble and sizzle and sputter for a while, and you might start to wonder how in the heck it'll ever become a pancake, but if you keep with it, it'll eventually dry out enough to become a tighter mass that holds together. If your flipping skills are good, you'll be able to rotate the ribollita pancake in the air and catch it without it coming apart.

Collage of adding thickened ribollita to a nonstick skillet, frying until it forms a pancake, and flipping to cook on the other side by flicking the skillet.

Serious Eats / Vicky Wasik

Then just slide it onto a plate, drizzle on some good olive oil, shower on freshly ground black pepper, and serve. Whether you serve it as a soup or as a pancake, I promise I won't complain that you neglected to boil it twice.

Overhead view of a plated ribollita pancake, garnished with a sprig of fresh rosemary and a few grinds of black pepper.

Serious Eats / Vicky Wasik

February 2016

Recipe Details

Ribollita (Hearty Tuscan Bean, Bread, and Vegetable Stew) Recipe

Active 60 mins
Total 60 mins
Serves 6 to 8 servings

This hearty Tuscan riff on minestrone is loaded with tender vegetables and beans and thickened with bread.


  • 3 tablespoons (45ml) extra-virgin olive oil, plus more for drizzling

  • 3 medium cloves garlic, thinly sliced (see note)

  • 1 medium red onion, diced (about 7 ounces; 200g)

  • 1 large leek, white and light green parts only, diced (about 13 ounces; 370g)

  • 4 large carrots, peeled and diced (about 1 1/4 pounds; 525g)

  • 2 1/2 cups peeled, seeded, and diced butternut squash (about 1/2 of a medium squash) (about 12 ounces; 360g)

  • 1 turnip, peeled and diced (about 8 ounces; 240g)

  • 3 large celery stalks, diced (about 8 ounces; 240g)

  • Water

  • 1 bunch lacinato kale, stemmed, leaves roughly chopped (about 6 ounces; 170g) (see note)

  • 1 bouquet garni (herb bundle made from a few sprigs each of mixed herbs, such as parsley, oregano, thyme, rosemary, and bay leaf)

  • 2 cups cooked beans, such as cannellini, navy, or cranberry, plus 1 cup bean-cooking liquid or water (if using canned beans) (see note)

  • 1/4 pound (110g) fresh or stale rustic crusty bread, cut into 1-inch cubes

  • Kosher salt and freshly ground black pepper

  • Grated Parmigiano Reggiano, for serving (optional)


  1. In a large Dutch oven or soup pot, heat olive oil over medium heat with garlic. Cook, stirring, until garlic is fragrant and very lightly golden. Add onion, leek, carrots, squash, turnip, and celery and cook, stirring, until slightly softened but not browned, about 5 minutes.

    Overhead closeup of diced onion, leek, carrots, squash, turnip, and celery cooking in a Dutch oven.

    Serious Eats / Vicky Wasik

  2. Add enough water to slightly cover vegetables (about 6 cups; 1.5L) along with kale and bouquet garnis and bring to a simmer over medium-high heat. Lower heat to maintain simmer and cook until vegetables are very tender, about 25 minutes.

  3. Stir in beans and their cooking liquid (or 1 cup water if using canned beans). Add bread, stir well, and simmer until bread is very soft and breaking down, about 15 minutes. Add water, 1/2 cup at a time, if soup becomes too thick and dry.

    A 4-image collage showing the additions of water, then kale, beans, and bread to the Dutch oven.

    Serious Eats / Vicky Wasik

  4. Season with salt and pepper. The soup can be served at varying consistencies: more wet and broth-y, like a thick, chunky soup, or cooked down until thickened like a porridge. Once reduced to a thick porridge, you can ladle some of it into a small (8-inch) nonstick skillet with 1 tablespoon oil and cook over medium-high heat, stirring frequently, until it coalesces into a dense mass; it will eventually take the shape of a pancake. (If your flipping skills are good, you can flip it to serve it browned side up.) Slide it onto a plate. To serve at any consistency, drizzle with fresh olive oil and top with freshly ground black pepper and grated cheese (optional).


Feel free to alter the vegetables according to personal taste or season. I recommend leaving in at least the onion (or leek), garlic, carrots, and celery.

Lacinato kale is also sold as dinosaur kale, cavolo nero, and black kale.

You can use canned or cooked-from-dried beans here, though dried ones will be even more delicious (especially if you cook them with aromatics, like onion, garlic, and herbs, in the water). Two 15-ounce (425g) cans of beans will yield slightly more than the 2 cups needed here. Roughly 1/3 pound (150g) of dried beans will yield about 2 1/2 cups cooked.

Read More

Nutrition Facts (per serving)
237 Calories
6g Fat
40g Carbs
8g Protein
Show Full Nutrition Label Hide Full Nutrition Label
Nutrition Facts
Servings: 6 to 8
Amount per serving
Calories 237
% Daily Value*
Total Fat 6g 8%
Saturated Fat 1g 5%
Cholesterol 0mg 0%
Sodium 512mg 22%
Total Carbohydrate 40g 15%
Dietary Fiber 10g 34%
Total Sugars 8g
Protein 8g
Vitamin C 29mg 147%
Calcium 174mg 13%
Iron 4mg 21%
Potassium 877mg 19%
*The % Daily Value (DV) tells you how much a nutrient in a food serving contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.
(Nutrition information is calculated using an ingredient database and should be considered an estimate.)