This pappa al pomodoro blends tomatoes, bread, and cannellini beans into a thick, spoonable Tuscan soup that’s rustic, cozy, and full of flavor.
Pappa al pomodoro is a classic Tuscan dish and one of the most iconic examples of cucina povera. A few simple, inexpensive ingredients and the scrappy use of leftover bread are transformed into something delicious.
And it’s right up there with ribollita as one of those soups that feels like it’s doing more than just feeding you.

I’ve made my own version here, adding creamy cannellini beans for a little more heft and protein. I blend a portion of the beans and broth to thicken the soup, then stir in torn pieces of stale bread and gently mash them against the side of the pot as everything simmers and breaks down.
Blending part of the beans adds creaminess and richness without masking the texture of the bread, which is what gives pappa al pomodoro its character.
Styles of pappa al pomodoro vary widely. Some versions are so thick with bread you could basically stand a spoon straight up in the pot.
While that style is very traditional, I prefer mine a little looser, more on the soup end of the spectrum, with softened chunks of bread and beans suspended in a rich tomato broth. The finished soup should be thick but spoonable, rustic but not heavy.
How to make pappa al pomodoro:




Recipe Tips:
Use excellent canned tomatoes. They are the backbone of this Italian tomato soup. Thin, watery tomatoes will give you thin, watery soup.
Italian beans work best. Cannellini and borlotti are my favorites. If using very large beans like royal corona, stir them in with the bread instead of blending (their charm is their size!). Here's a refresher on how to cook dried beans.
Choose the right bread. Sturdy, country-style bread that’s a day or two old will absorb liquid and break down slowly. Soft sandwich bread dissolves too quickly and muddies the texture. This rustic italian bread is so perfect in it!
PrintPappa al Pomodoro
This pappa al pomodoro blends tomatoes, bread, and cannellini beans into a thick, spoonable Tuscan soup that’s rustic, cozy, and full of flavor.
- Prep Time: 5 minutes
- Cook Time: 30 minutes
- Total Time: 35 minutes
- Yield: 4
- Category: Soup
- Method: Stovetop
- Cuisine: Italian
- Diet: Vegetarian
Ingredients
- ¼ cup extra-virgin olive oil, plus more for drizzling
- 1 small onion, finely diced
- kosher salt
- freshly ground black pepper
- 3 tbsp tomato paste
- 3 garlic cloves, minced
- 1 (28-ounce) can whole peeled tomatoes, crushed with your hands
- 1 ½ cups cooked cannellini beans (or 1 15-oz can), rinsed
- 1 parmesan rind (optional)
- 3- 4 cups unsalted chicken stock
- 2 cups stale country bread, torn into chunks
- ¾ cup grated parmesan, plus more for serving
- 2 tbsp chopped basil, plus more for garnish
Instructions
- Heat olive oil in a large pot over medium heat. Add onion, season with salt and pepper, and cook until translucent and very soft, 10- 12 minutes. Add tomato paste and cook until darkened, about 3 minutes. Stir in garlic and cook until fragrant, about 30 seconds.
- Stir in the tomatoes, beans, parmesan rind (if using), and 3 cups stock and bring to a gentle simmer. Cook for 5 minutes.
- Scoop out 1 cups of beans and some cooking liquid into a 2-cup glass measuring cup. Place an immersion blender directly in the measuring cup and pulse until smooth. Alternatively, use a stand blender. Return bean puree to the pot and add more salt or pepper, as needed.
- Add torn bread and bring to a gentle simmer, stirring and mashing the bread every so often to help break it up, until soup has thickened, about 20 minutes. Add up to an extra cup of stock, if needed, if the soup gets too thick.
- Discard parmesan rind and stir in parmesan and fresh basil. Serve hot with a drizzle of peppery olive oil.
Notes
Nutritional information is only an estimate. The accuracy of the nutritional information for any recipe on this site is not guaranteed.
Nutrition
- Serving Size: 1
- Calories: 520
- Sugar: 7g
- Sodium: 520mg
- Fat: 30g
- Saturated Fat: 7g
- Unsaturated Fat: 21g
- Trans Fat: 0g
- Carbohydrates: 45g
- Fiber: 9g
- Protein: 18g
- Cholesterol: 30mg
Leave a Reply