Soups & Stews
This authentic Italian pasta fagioli soup recipe brings rustic Tuscan tradition to your kitchen with its hearty bean-and-pasta medley. The secret lies in slow-simmered beans, al dente pasta, and a fragrant blend of garlic, rosemary, and olive oil that transforms simple ingredients into deeply comforting flavors.
I've perfected this version through years of testing, balancing traditional techniques with modern convenience—no shortcuts, just authentic taste.
The magic happens in the simmering: dried beans soften while absorbing the rich tomato broth, and small pasta shapes like ditalini or elbow macaroni cook directly in the pot for perfect texture.
What makes this dish special is its versatility—it's equally satisfying as a light lunch or a filling dinner, especially when paired with crusty bread and a glass of Chianti. The aroma alone will transport you to an Italian trattoria.
What you'll end up with is a bowl of restaurant-quality pasta fagioli—creamy from the beans, hearty from the pasta, and brightened with fresh basil and a sprinkle of grated pecorino. The broth is rich but not heavy, thanks to the careful balance of tomatoes, garlic, and herbs.
This is comfort food at its finest, made even better by its adaptability to your pantry staples.
Serve immediately for the best experience, but the flavors only deepen overnight, making it perfect for meal prep. Whether you're feeding a family or treating yourself to a cozy weeknight dinner, this recipe delivers authentic Italian comfort with every spoonful. Let's get cooking!
Ingredients for authentic italian pasta fagioli soup
Sixteen ingredients, all pantry staples or fresh finds—this is Tuscan comfort in a bowl.
| Ingredient | Amount | Notes |
|---|---|---|
| Dried Cannellini Beans 🌱 | 1 ½ cups | Uncooked, rinsed well |
| Ditalini Pasta 🍝 | 1 cup | Small tubes, al dente preferred |
| San Marzano Crushed Tomatoes 🍅 | 28 oz | High-quality canned tomatoes |
| Extra-Virgin Olive Oil 🫒 | ½ cup | Fruity, not refined |
| Garlic Cloves 🧄 | 6 cloves | Fresh, minced finely |
| Fresh Rosemary 🌿 | ¼ cup | Chopped, stems removed |
| Vegetable Broth 💧 | 4 cups | Low-sodium preferred |
| Pecorino Romano Cheese 🧀 | ½ cup | Freshly grated |
| Fresh Basil Leaves 🌿 | ¼ cup | Chopped, for garnish |
| Dried Oregano 🍃 | 1 tsp | Italian preferred |
| Ground Black Pepper 🌶️ | ½ tsp | Freshly cracked |
| Sea Salt 🧂 | 1 ½ tsp | Diamond Crystal preferred |
| Crusty Bread 🍞 | 1 loaf | For serving, optional |
The San Marzano tomatoes are non-negotiable here—they're the heart of the flavor. Look for the 28 oz cans in the Italian section of Whole Foods or Trader Joe's—they're worth the splurge. Fresh rosemary and basil? Farmers markets have the best, but grocery store bunches work if they're vibrant and not wilted. The cannellini beans should be plump and unblemished—no shriveled or cracked ones. For the pasta, ditalini is traditional, but elbow macaroni works too if that's what you've got. The key is using high-quality vegetable broth—Imagine or Pacific Foods are my go-tos for that deep umami flavor.
No San Marzano tomatoes? Crushed tomatoes in a 28 oz can will work in a pinch, but you'll miss that sweet, rich depth. Short on rosemary? Fresh thyme at double the amount gives a similar earthy note. The pecorino can be swapped for Parmigiano-Reggiano if that's what you have, but pecorino's sharper bite cuts through the richness. Want to make it even heartier? Add 1 cup of cooked white beans or 1 diced carrot for extra texture. The crusty bread is purely for serving—garlic bread or focaccia would be perfect pairings if you're feeling fancy.
This soup tastes even better the next day—flavors meld beautifully overnight. Store in the fridge for up to 5 days, or freeze portions for up to 3 months. I always make a double batch—one for dinner, one for lunch the next day. The pasta holds up well when reheated, though you might want to add a splash of water or broth if it gets too thick. For serving, a sprinkle of fresh basil and extra pecorino turns it into a restaurant-worthy bowl every time.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this recipe—just toss everything into a single pot, simmer, and forget about it. No fancy techniques, no last-minute grocery runs. The ditalini pasta soaks up the broth while the cannellini beans soften, and by the time the garlic infuses that golden olive oil, you’re basically done.
- San Marzano Secret: That crushed San Marzano tomato is the real MVP here. It’s sweet, rich, and never watery—unlike some canned tomatoes I’ve tried. The acidity cuts through the richness of the olive oil, and the garlic? Oh, it builds layers of flavor that make you want to slurp it straight from the pot.
- Weeknight to Potluck: Between us, this soup is my go-to for lazy Mondays and Sunday gatherings. Double the batch, and you’ve got leftovers for lunch the next day—or bring it to a picnic. The ditalini holds its shape, so it’s not mushy when reheated, and the beans keep it hearty enough to fill anyone up.
- Budget That Feeds: Honestly, this recipe is my wallet’s best friend. A bag of dried cannellini beans and a can of tomatoes stretch forever, and the olive oil and garlic are pantry staples. It’s the kind of meal where you spend more time eating than you do cooking—and that’s always a win.
Step-by-step instructions for authentic Italian pasta fagioli soup
This classic Roman soup delivers hearty bean richness with perfectly al dente pasta—just like Nonna used to make.
Soak and Parboil the Cannellini Beans
Place the 1.5 cups dried cannellini beans in a large bowl and cover with plenty of cold water. Let them soak overnight—this dramatically reduces cooking time and ensures tender, creamy beans. After soaking, drain and rinse thoroughly.
Transfer the beans to a large pot and cover with fresh water by about 2 inches. Bring to a boil over medium-high heat, then immediately reduce to a gentle simmer. Cook for 45-60 minutes until the beans are fork-tender but not mushy. You'll know they're ready when they hold their shape but are easily crushed between your fingers. Drain, reserving 1 cup of the cooking liquid—this starchy water will become part of your soup's velvety texture.
Build the Flavor Base with Olive Oil and Aromatics
In the same pot, heat the 0.5 cup extra-virgin olive oil over medium heat until shimmering but not smoking. Add the 6 cloves minced garlic and 0.25 cup chopped fresh rosemary—here's where the magic happens. Sauté for 2-3 minutes until the garlic turns golden and the rosemary releases its piney aroma. Be careful not to let the garlic burn; it should smell heavenly, not bitter.
Stir in the 1 tsp dried oregano and 0.5 tsp freshly cracked black pepper, then add the 28 oz San Marzano crushed tomatoes. Let this mixture simmer uncovered for 10 minutes to develop deep, concentrated flavors. You'll notice the tomatoes reduce slightly and the oil separates slightly on top—that's perfect. This step forms the soul of your soup.
Simmer the Bean-Tomato Mixture
Return the parboiled beans to the pot along with their 1 cup reserved cooking liquid. Pour in the 4 cups vegetable broth and bring to a gentle boil. Reduce heat to low and let it simmer uncovered for 30 minutes, stirring occasionally. This slow cook allows all the flavors to meld beautifully while keeping the beans intact.
Taste and adjust seasoning with the 1.5 tsp sea salt—remember, the beans already contain some salt from their soaking. You want a balance of tomato sweetness, herbal notes, and subtle saltiness. The soup should be rich but not overly heavy at this stage. Here's the thing—authentic pasta fagioli should taste like comfort, not like a heavy stew.
Cook the Pasta to Al Dente Perfection
In a separate pot, bring 4 cups fresh water to a rolling boil and add 1 cup ditalini pasta. Cook according to package directions until 1 minute shy of al dente—this ensures the pasta finishes cooking in the soup's hot liquid. Reserve 1 cup pasta water before draining, then add the pasta directly to the soup pot.
Gently stir the pasta into the bean mixture and simmer together for 5-7 minutes until the pasta is perfectly al dente. The pasta should be tender but still have a slight bite. Here's a pro tip: if the soup seems too thick, add ½ cup reserved pasta water to loosen it slightly. The texture should be creamy yet light enough to let the flavors shine through.
Finish and Serve with Authentic Touches
Remove from heat and stir in the 0.5 cup freshly grated Pecorino Romano cheese until melted and creamy. The cheese adds a salty, umami depth that elevates the entire dish. Ladle the soup into bowls and garnish each serving with 2 tablespoons chopped fresh basil leaves and a sprinkle of additional black pepper.
Serve immediately with slices of crusty bread on the side for dipping. The contrast of the bread's crunch against the soup's creamy texture is what makes this dish truly special. Each spoonful should deliver that perfect balance of hearty beans, al dente pasta, and aromatic herbs—just like a true Italian nonna would serve.
Pro Tips For Making Authentic Italian Pasta Fagioli Soup
- SOAK BEANS OVERNIGHT: I learned this the hard way—skipping the soak leaves your beans tough and gummy. Toss dried cannellini beans in cold water (4 cups per 1 cup beans) and let them sit 8–12 hours. No time? Quick-soak them in boiling water for 2 hours, then drain. The longer they soak, the creamier your soup.
- CRUSH TOMATOES BY HAND: San Marzano crushed tomatoes are great, but for real depth, smash them with your knuckles in a bowl first. This breaks down the skins and releases more flavor—no blender needed. (Yes, even if you’re impatient like me.)
- ADD PASTA LATE: Your ditalini will turn to mush if it cooks too long in the broth. Save it for the last 8–10 minutes of simmering, or even toss it in off-heat for 2–3 minutes. The starch from the beans thickens the soup, so you don’t need extra water.
- SWEAT GARLIC LOW AND SLOW: After sautéing garlic in olive oil, reduce heat to medium-low and let it cook until just golden—about 3–4 minutes. Burning it adds bitterness, and you’ll regret it when the whole soup tastes off. (Your nose knows.)
Dietary considerations for this dish
Vegetarian-Friendly Base
This recipe is naturally vegetarian, relying on cannellini beans and pasta for protein and texture. The 1.5 cups dried cannellini beans provide a hearty, meaty texture while delivering 15 grams of protein per serving—perfect for plant-based diets.
The 1 cup ditalini pasta adds an extra 8 grams of protein per serving, making this a complete protein meal when paired with the 0.5 cup Pecorino Romano cheese. 🌱
Gluten-Free Adaptation
For gluten-free versions, swap the ditalini pasta for gluten-free pasta shapes like brown rice or chickpea pasta—I recommend Banza chickpea pasta for extra protein. Ensure your vegetable broth is certified gluten-free (check labels), and use tamari instead of soy sauce if you add any.
The beans and tomatoes remain naturally gluten-free, so the only adjustments are the pasta and broth. The flavor remains authentic with these swaps!
Vegan Version
To make this vegan, omit the Pecorino Romano and use nutritional yeast instead for a cheesy flavor. Boost umami with 1 tbsp miso paste stirred into the tomato base. For extra richness, add 2 tbsp white miso or 1 tbsp vegan butter when finishing.
The beans and pasta provide all the protein you need—just skip the cheese entirely for a fully plant-based bowl.
Low-Carb Option
For a lower-carb version, reduce the pasta to ½ cup or use zucchini noodles instead. The beans still provide satisfying heartiness, and you can add 1 diced carrot or ½ cup chopped celery for extra veggies.
The broth and tomatoes keep the dish flavorful while cutting carbs. This version works well for keto diets if you monitor portion sizes carefully.
Allergen Considerations
This recipe contains gluten (from pasta), dairy (Pecorino Romano), and soy (if using store-bought broth). For soy-free versions, use a chicken or mushroom-based broth. Those with dairy allergies should substitute the cheese with dairy-free pecorino alternatives or omit entirely.
Always check labels on broths and canned tomatoes for hidden allergens like wheat or dairy additives.
Nutrition facts
Frequently asked questions
Why do I need to soak the cannellini beans overnight?
Soaking the beans overnight dramatically reduces cooking time and ensures they become tender without turning mushy. The overnight soak softens the beans' tough outer skins, allowing them to absorb flavors better during simmering. Plus, it makes the final texture creamier—just like traditional Italian recipes.
Can I use canned beans instead of dried for convenience?
Yes! For a quick version, use 3 (15 oz) cans of cannellini beans, drained and rinsed. Skip the soaking and parboiling steps, but add the beans directly to the pot after building the tomato-herb base. The flavor will be slightly less developed, but still delicious. Just reduce the simmering time to 20 minutes after adding the beans.
What makes this pasta fagioli different from other bean soups?
This recipe stays true to Italian tradition by cooking the pasta directly in the soup rather than separately. The ditalini pasta absorbs the bean broth's rich flavors while maintaining al dente texture. The secret lies in the slow-simmered tomato-rosemary base and the finishing touch of Pecorino Romano, which creates that signature creamy yet savory balance.
How can I make this soup more flavorful if I don't have San Marzano tomatoes?
Use a high-quality crushed tomato blend and boost flavor by adding 1 tbsp tomato paste to the oil during the sauté step. For extra depth, stir in ½ cup white wine when adding the broth. Fresh herbs like thyme or basil can also elevate the taste. The key is building layers of flavor through slow simmering.
Can I make this soup in a slow cooker or Instant Pot?
For the slow cooker: Soak beans overnight, then add everything except pasta to the pot and cook on low for 6-7 hours. Add pasta during the last 15 minutes. For Instant Pot: Soak beans, then cook on high pressure for 20 minutes with all ingredients except pasta. Quick-release, stir in pasta, and cook 5 more minutes. Both methods work beautifully!
