This post may contain affiliate links. Read my disclosure policy.
This cozy, restaurant-quality one-pot Italian-style Pasta Fagioli Soup is loaded with ground beef, Italian sausage, tender veggies, ditalini pasta, and two kinds of beans in a tomato-herb broth. Make it on the stove-top, in a Slow Cooker, or in an Instant Pot.

What is Traditional Pasta e Fagioli?
Traditional pasta e fagioli ("pasta and beans") is a rustic Italian soup-stew. It's built around small pasta (often ditalini) and beans (typically cannellini or borlotti) simmered with a simple soffritto of onion, carrot, and celery, plus tomatoes or tomato paste, herbs like rosemary or sage, and good olive oil. It's usually meatless (sometimes with a little pancetta) and is thicker, stew-like, often thickened by mashing or blending a scoop of the beans.

Make Cozy Copycat Olive Garden Pasta e Fagioli at Home!
My version is restaurant-inspired yet totally weeknight-friendly! In my usual style, it's also heavier on protein - I use both ground beef and Italian sausage (together with two kinds of beans: cannelini and dark red kidney beans). I stir in spinach at the very end, just until it wilts, so it remains fresh and vibrant. The end result is a delicious, filling, nutritious (and beautifully presented) meal that is perfect for lunch and hearty enough for dinner.
If you love protein-packed, easy weeknight meals, you'll love this pasta fagioli! Serve it with a warm slice of my homemade bread-machine bread, my garlic butter dinner rolls, or rustic seeded rye bread. And, if you crave more Italian-style soups, be sure to try my Minestrone Soup and my Italian Sausage Tortellini Soup next.


The Ingredients & Substitutions
- Ground beef. I like using ground beef to balance the bold flavors of Italian sausage. Ground turkey or chicken can be used for a lighter version.
- Italian sausage. Adds richness and a touch of spice. Use mild or hot depending on your preference. You can also substitute it with all ground beef.
- Cannellini and kidney beans. Classic combination. Great northern or navy beans can be a good substitution. Just rinse and drain them before adding.
- Ditalini pasta. The traditional pasta shape for Pasta Fagioli Soup. You can also use any short-cut pasta like elbows, small shells, or break larger pasta into smaller pieces if that's what you have on hand.
- Baby spinach. Adds color and freshness. Kale or Swiss chard are great substitutions.
- Veggies. Onion, carrots, and celery stalks are the classic Italian base (called soffrito) for the soup, adding depth of flavor. If you don't have all of them, just use what's on hand.
- Garlic. Fresh garlic is a key ingredient, minced or pressed.
- Tomato paste. Helps develop a deeper, slightly sweet, and more complex flavor. As a substitution, you can add an extra tablespoon of crushed tomatoes.
- Crushed tomatoes. I use canned crushed tomatoes for a consistent texture and rich flavor. You can substitute with diced or pureed tomatoes, depending on your preferred texture.
- Chicken Broth. Use low-sodium broth so you can control the salt level. As a substitution, you can use beef broth or vegetable broth.
- Olive oil. Used for sautéing the vegetables and browning the meat. You can use any neutral oil, but olive oil adds the best flavor.
- Italian seasoning + dried basil. Bring that signature herby flavor. You can swap Italian seasoning for a mix of oregano, thyme, and rosemary.
- Red pepper flakes. Add a gentle heat. Adjust to taste or omit if you prefer it mild.
- Salt and pepper. Always taste and adjust at the end since both the broth and sausage can already contain a lot of salt, so it's best to taste first before adding more.


Serving Ideas
I like to ladle this soup into warm bowls, finish with grated Parmesan and a drizzle of good olive oil, then keep the sides simple: a crusty slice of fresh bread and a crisp homemade salad. Here are my favorites to pair with Pasta Fagioli:
- Tomato Cucumber Avocado Salad with Mozzarella and Basil Pesto
- Sweet Potato Kale Salad
- Italian Chopped Salad
- Simple Garlic Bread
- Garlic and Herb Bread Machine Bread
- Garlic Butter Dinner Rolls
- Savory Bacon and Cheddar Cheese Scones


Pasta e Fagioli Soup (Olive Garden Copycat)
Ingredients
- 2 tablespoons olive oil divided
- ½ lb ground beef
- ½ lb Italian sausage crumbled
- 1 medium onion diced
- 2 medium carrots diced
- 2 large celery stalks diced
- 4 cloves garlic minced
- 2 tablespoons tomato paste
- 15 oz canned crushed tomatoes
- 5 cups chicken broth
- 1 cup water
- 1 ½ teaspoons Italian seasoning
- ½ teaspoon dried basil
- ½ teaspoon red pepper flakes
- salt to taste
- pepper to taste
- 15 oz cannellini beans canned, drained and rinsed
- 15 oz dark red kidney beans canned, drained and rinsed
- 1 ½ cups ditalini pasta uncooked
- 2 cups baby spinach tightly packed
- 2 tablespoons fresh parsley chopped, plus more for serving
- freshly grated Parmesan cheese for serving
Instructions
- Heat 1 tablespoon olive oil in a large Dutch oven or soup pot over medium-high heat. Once hot, add ground beef and Italian sausage. Using a wooden spoon, break the meat into bite-sized pieces. Cook, stirring occasionally, for about 5-7 minutes or until browned.
- Transfer the cooked meat to a plate using a slotted spoon. Drain the excess fat, keeping about 2 tablespoon of drippings in the pot for flavor.
- Add the remaining 1 tablespoon olive oil, onion, carrot, and celery to the same pot. Saute for about 4-5 minutes or until vegetables start to soften. Add garlic and cook for about 30-60 seconds or until fragrant. Stir in tomato paste and cook for an additional minute.
- Return the cooked meat back to the pot. Stir in crushed tomatoes, chicken broth, water, Italian seasoning, dried basil, red pepper flakes, salt, and pepper. Bring to a boil, then reduce heat to low. Cover with a lid and let simmer for 20 minutes, stirring occasionally.
- Add cannellini beans, kidney beans, and ditalini pasta. Cook uncovered until the pasta is al dente, about 8-10 minutes, stirring occasionally so the pasta doesn't stick to the bottom of the pot.
- Once the pasta is al dente, stir in the baby spinach and chopped parsley. Cook for 1-2 minutes until the spinach wilts. Top with freshly grated Parmesan cheese and chopped parsley. Serve hot with crusty bread for dipping.
- Note: I provide helpful step-by-step photos + tips below this recipe card.⬇️⬇️
Notes
- How to thin it out: Pasta Fagioli Soup thickens as it sits. Add a splash of broth or water if it gets too thick.
- Spinach or other greens should be added at the very end to keep color and nutrients.
- Do not overcook pasta: Add ditalini when you're ~10 minutes from serving so it stays al dente.
- Balance the flavors at the end with a touch of freshly squeezed lemon juice or a splash of red-wine vinegar, plus Parmesan.
- Drain some excess fat: After browning the meat, transfer it to a plate using a slotted spoon, then drain the excess fat, leaving about 2 tablespoons in the pot. This keeps the soup flavorful without being greasy, delivering rich flavor while controlling fat content.
- Adjust spice level: To make it spicy, add more crushed red pepper flakes, chili powder, or cayenne pepper. Reduce or omit red pepper flakes if serving to children.
- Rinse canned beans to reduce excess salt and improve overall flavor.
- Simmer gently. A low simmer helps flavors meld without breaking down pasta or overcooking the beans.
How to Make Pasta e Fagioli in a Slow Cooker:
- Brown the beef and sausage in a skillet first, then stir in the tomato paste for 60-90 seconds to cook.
- Transfer to the slow cooker with onion, carrot, celery, garlic, crushed tomatoes, broth, water, Italian seasoning, basil, red pepper flakes, salt, and pepper.
- Cook on LOW 6-7 hours or HIGH 3-4 hours until the veggies are tender and the flavors meld.
- Stir in the beans and ditalini, cover, and cook on HIGH 20-30 minutes until the pasta is al dente (stir once so it doesn't clump).
- Fold in spinach and parsley just until wilted, then adjust seasoning and finish with Parmesan.
- For the best texture in leftovers, I sometimes cook the pasta separately and add it to each bowl.
How to Make Pasta e Fagioli in an Instant Pot / Pressure Cooker:
- Using Sauté, brown the beef and sausage well, then add the onion, carrot, and celery to soften. Stir in garlic for 30 seconds, cook the tomato paste, and deglaze with a splash of broth, scraping up any browned bits (prevents the Burn warning).
- Add the remaining broth, water, crushed tomatoes, seasonings, and beans; stir.
- Scatter the ditalini on top and do not stir (this also helps avoid Burn).
- Seal and cook under High Pressure for 4 minutes, then quick-release.
- Stir in spinach and parsley to wilt, thin with extra hot broth or water if needed, and season to taste.
- If you prefer firmer pasta for meal prep, cook it separately and add to bowls before ladling the soup.
Storage, Reheating, Freezing, Make-Ahead
- Storage: Refrigerate soup (separate from pasta if possible) in airtight containers 3-4 days. If pasta is already in, expect it to continue absorbing broth.
- Reheating: Warm gently on the stove over medium-low. Add a splash of broth or water to loosen. Microwave in short bursts, stirring between.
- Freezing: Best practice-freeze without pasta up to 3 months. Cool completely, ladle into freezer bags or containers, leaving headspace. Add freshly cooked ditalini when reheating. If already mixed, it's still fine to freeze; pasta will be softer on thaw.
- Make-Ahead: Cook the soup base (through the 20-minute simmer). Cool, refrigerate up to 2 days. Reheat, then add beans and fresh pasta to cook al dente, finish with spinach and parsley.
Nutrition
Nutrition Disclaimer:
The nutritional information on this website is only an estimate and is provided for convenience and as a courtesy only. The accuracy of the nutritional information for any recipe on this site is not guaranteed. It should not be used as a substitute for a professional nutritionist's advice.
How to Make Pasta e Fagioli Soup (Step-by-Step Photos & Tips)
- Brown the meat: Heat oil in a Dutch oven over medium-high; brown ground beef and Italian sausage, breaking into small pieces. Transfer meat; leave some drippings. (Tip: Don't overcrowd - color equals flavor. If needed, brown in two batches.)
- Cook the soffritto: Add more oil, then sauté the onion, carrot, and celery until softened. Stir in the garlic briefly, then cook the tomato paste. (Tip: Let the paste darken to brick red to remove raw acidity.)


- Build the soup base: Return meat to the Dutch oven; add crushed tomatoes, broth, and a little water.
- Add seasonings: Italian seasoning, basil, red pepper flakes, salt, and pepper.
- Simmer the soup base: Bring to a boil, then cover and simmer until flavors meld. (Tip: Scrape up browned bits as you stir for added flavor. A Parmesan rind can simmer here - make sure to remove it before serving.)

- Add beans & pasta: Stir in cannellini beans, kidney beans, and ditalini; cook uncovered, stirring, until pasta is al dente. (Tip: If the soup gets too thick, add hot water or broth a little at a time.)
- Fold in spinach and parsley: cook just until wilted. Taste and adjust seasoning. (Tip: Salt lightly at the end - Parmesan adds saltiness)

- Serve: Top with Parmesan and more parsley; add crusty bread for dipping. (Meal-prep tip: For best leftovers, cook pasta separately and add to each bowl so it stays firm. Freeze the soup base without pasta for up to 3 months.)


Quick Recap: Why You'll Love This Italian Soup
- One-pot meal with everyday ingredients.
- Stove-top or slow-cooker friendly.
- Better than Olive Garden's (and faster than takeout).
- Protein-packed and super satisfying.
- Perfect fall and winter weeknight dinner.
- Great for meal prep and freezing. Eat half the soup, freeze the other half for busy weeknights.
- Cannellini and dark red kidney beans give creamy + meaty textures (I rinse them for a cleaner broth).
- Seasonal & flexible: It's a classic fall/winter comfort food. It works for weeknight dinner, next-day lunches, game-day, or feeding a crowd.
- I'm looking forward to your comments below about what you think of this soup!




Fantastic soup. Just made it for the second time last night...this time for church. Everyone is bringing their version of chili and I'm bringing your fagioli - it's fabulous. I did everything just as your recipe describes except I cook my pasta separately so people can add as they wish. Thank you, Julia. Since I'm sensitive to dairy, I'll be making this a lot.
Easy, filling, and delicious! I didn't change a thing. This will be a regular on our menu.
Very good soup, full of flavor & hearty on a snowy day. I enjoyed the mix of ground beef & Italian sweet sausage & followed the recipe except for substituting diced tomatoes (that I had on hand) for crushed tomatoes & simply smashed them in the pot. Couldn't find ditalini in our store, so I used the smallest tube pasta available. I cooked the meats & vegetables the day before, which making it quick & easy the next day. Because I am planning to freeze some of the soup, I did not add the spinach or pasta to the pot, preferring to keep it fresh by putting them in the bottom of each bowl & then ladling soup on top. This recipe is a keeper.
Hi Shirley! Thanks so much for taking the time to leave such a detailed comment — I love hearing how readers make the recipe their own! 🙂 I’m glad it hit the mark on a snowy day and that the beef + sweet Italian combo worked well for you. Thanks for all your tips, including the freezing tip - they will help a lot of other readers. 🙂
Very good soup, full of flavor & hearty on a snowy day. I enjoyed the mix of ground beef & Italian sweet sausage & followed the recipe except for substituting diced tomatoes (that I had on hand) for crushed tomatoes & simply smashed them in the pot. Couldn't find ditalini in our store, so I used the smallest tube pasta available. I cooked the meats & vegetables the day before, which making it quick & easy the next day. Because I am planning to freeze some of the soup, I did not add the spinach or pasta to the pot, preferring to keep it fresh by putting them in the bottom of each bowl & then ladling soup on top. This recipe is a keeper.
Again, Shirley, thank YOU SO MUCH for sharing your experience with this recipe - this will be so helpful for other readers, too! So glad this one is a keeper for you! 🙂
This soup is absolutely fantastic! The one thing I will change in the future is to use 1/2 to 3/4 cup ditalini. I used barilla, and it was so thick I had to add about 3 cups more liquid and adjust herbs and salt and pepper. That said, this is definitely a favorite on my list!!!!
Thank you so much, Jean, for sharing your feedback on the pasta amount - it’s incredibly helpful to other readers. You’re absolutely right about the pasta: ditalini can soak up a lot of liquid as it cooks and even more as the soup sits. Adjusting the amount of liquid to your preference is always the right move!
A hearty soup made for winter. The family loved it! I should have included a Focaccia bread or something of the Italian variety with it.
So glad everyone enjoyed it, Greg! 🙂 Focaccia bread would've been perfect here indeed!
This was so, so good! I even purchased a small bread maker to make bread to go with it! I really enjoy your recipes, albeit I’m a single, senior citizen. I just adjust for me. I’m looking forward to making today’s (01/20/2026) recipe for the meatballs.
Hi Deb! I LOVE that you got a bread maker just for it 🙂 So glad you’re enjoying the recipes. The meatballs-and-orzo recipe is one of my best recipes yet, I think. I hope you love it! 🙂
I followed the recipe exactly and when it was finished it was very good. I let it cool for just a bit and the noodles soaked up all the broth. If I make it again I will only use half the amount of noodles and probably cook them separately.
Thank you so much, Mary, for the wonderful feedback. I appreciate you sharing your experience with this recipe. I think many will find this helpful. 🙂
This ‘soup’ is fantastic have already made 2 batches and notwithstanding its summer here in NZ it’s been a great time saver and being high protein is great
Jean, I'm so glad you’re loving it!! Soup in summer is so perfect when it’s this tasty and packed with protein 🙂 Love that it’s been a time saver too!
This soup was fantastic. The only thing I did differently was add more spinach and cooked the pasta separately as I knew that I would be freezing some... there are only two of us.
Cooking the pasta separately was super smart if you're freezing - it definitely helps it hold up better later. And extra spinach is always a good idea! Thank you so much for your 5-star review! 🙂
Excellent! Thank you for sharing the recipe!
Thank you, Stephanie! I really appreciate your 5-star review! 🙂
I made this soup today for dinner. Turned out great! We really enjoyed it!
So happy to hear that, Rosann! 🙂
Everyone loved it. I had a spoonful because I can’t do high carbohydrates. Too many medical issues including Diverticulitis.
Hi Ann! So happy it was a hit with everyone! And I’m really sorry to hear about your medical issues—dealing with things like Diverticulitis is no joke. Glad you still got to sneak a spoonful in. 🙂
Under the notes for veggies, did you mean Mirepoix instead of sofrito? Or can you use either?
Hi Melanie! It's actually a really good question! Soffritto and mirepoix use the same vegetables (onion, carrot, and celery), but they’re handled a bit differently. In this Pasta e Fagioli, I mean soffritto - the veggies are finely chopped and gently sautéed so they soften and melt into the soup, which is a classic Italian technique.
You could make a mirepoix-style cut instead, but that’s a larger dice and is more of a French base. The finer soffritto gives this soup a smoother texture and a more blended flavor. 🙂
It is certainly soup season and this looks incredible!
Dear Julia:
That soup looks delic but the "tomotto" base would reak havock on my acid sensitive insides.
I hear you Pete! 🙂 I have those issues sometimes too. 🙂 In that case, try some of my non-tomato soups:
https://juliasalbum.com/lemon-chicken-orzo-soup/
https://juliasalbum.com/white-lasagna-soup-chicken/
https://juliasalbum.com/sausage-white-bean-soup/
https://juliasalbum.com/chicken-wild-rice-soup/
Thank you so much, Judy! 🙂