I just made a Pasta Fagioli Soup Recipe that actually tops Olive Garden and still leaves you with a healthy, vegetarian pot of comfort that’s ridiculously easy whether you want to use the stove, crockpot, or Instant Pot.

I’m obsessed with this Pasta Fagioli Soup because it hits every craving and refuses to be polite. I love the way garlic and tomato fill the air and how ditalini sneak around cannellini beans so every spoonful lands with real heft.
But it’s simple enough to be one of my go-to Easy Soup Recipes, no drama, just bold flavor. I adore the bright finish and the little oily sheen from extra virgin olive oil on top.
Makes boring weeknights feel like something to actually look forward to. Soup And Sandwich nights suddenly have attitude and people ask for seconds always.
Ingredients

- Extra virgin olive oil: It gives silky mouthfeel and a warm, homey start.
- Yellow onion: Sweetness and depth once it’s softened, classic soup base.
- Carrots: Little sweetness and texture, makes it feel wholesome.
- Celery: Fresh crunch and celery note that keeps it bright.
- Garlic: Pungent punch, wakes up the whole pot.
- Crushed tomatoes: Acid and tomatoey body, makes it saucy.
- Tomato paste: Concentrated tomato boost, basically umami glue.
- Vegetable broth: Light stockiness and salt control, keeps it vegetarian.
- Cannellini beans: Creamy protein and hearty bite, very filling.
- Ditalini pasta: Small tubes that trap broth, fun little bites.
- Dried oregano: Herby earthiness, familiar Italian touch.
- Dried basil: Sweet herb lift, pairs with tomatoes nicely.
- Dried thyme: Subtle savory note, background support.
- Bay leaf: Gentle woodsy layer, basically background flavor.
- Red pepper flakes: Optional heat, adds a cheeky kick.
- Kosher salt: Seasoning backbone, brings everything forward.
- Black pepper: Sharp finish and peppery warmth.
- Red wine vinegar: Bright acid that wakes flavors up.
- Granulated sugar: Optional balance for tomato tang, tiny sweetness.
- Baby spinach: Fresh green lift, wilts right into the soup.
- Parmesan cheese: Nutty saltiness that’s cozy and savory.
- Parmesan rind: Deepens broth richness, low-effort flavor trick.
- Fresh parsley: Bright herb garnish, freshens each spoonful.
- Extra olive oil drizzle: Glossy finish and small flavor boost.
Ingredient Quantities
- 2 tablespoons extra virgin olive oil
- 1 medium yellow onion, finely chopped
- 2 medium carrots, diced
- 2 celery stalks, diced
- 3 garlic cloves, minced
- 28 ounces crushed tomatoes (1 can)
- 2 tablespoons tomato paste
- 6 cups low sodium vegetable broth
- 2 15-ounce cans cannellini beans or great northern beans, drained and rinsed
- 1 to 1 1/2 cups ditalini or small tube pasta (uncooked)
- 1 teaspoon dried oregano
- 1 teaspoon dried basil
- 1/2 teaspoon dried thyme
- 1 bay leaf
- 1/4 to 1/2 teaspoon red pepper flakes, optional for heat
- 1 to 1 1/2 teaspoons kosher salt, to taste
- 1/2 teaspoon freshly ground black pepper
- 1 tablespoon red wine vinegar or balsamic vinegar
- 1 teaspoon granulated sugar or honey, optional to balance acidity
- 2 cups fresh baby spinach or chopped kale
- 1/2 cup freshly grated Parmesan cheese for serving, optional if strictly vegetarian use a vegetarian hard cheese
- 1 Parmesan rind, optional for cooking to deepen flavor
- 2 tablespoons chopped fresh parsley for garnish
- Extra olive oil for drizzling when serving, optional
How to Make this
1. Heat 2 tablespoons olive oil in a large heavy pot over medium heat until shimmering, then add the chopped onion, diced carrots and diced celery; cook, stirring often, until the veggies are soft and the onion is translucent, about 6 to 8 minutes.
2. Stir in the minced garlic and cook 30 seconds until fragrant, then add the tomato paste and crushed tomatoes; cook 2 to 3 minutes, stirring, to take the raw edge off the tomato paste.
3. Pour in 6 cups vegetable broth, add the drained beans, dried oregano, dried basil, dried thyme, bay leaf, red pepper flakes if using, 1 teaspoon kosher salt and 1/2 teaspoon black pepper; if you have a Parmesan rind toss it in now for extra depth. Bring to a simmer.
4. For stovetop: simmer gently, uncovered, 10 minutes to let flavors marry. For crockpot: transfer everything to the crockpot and cook on low 4 to 6 hours or high 2 to 3 hours. For Instant Pot: use the soup setting or manual high pressure for 5 minutes, then quick release.
5. After the base has simmered, add 1 to 1 1/2 cups uncooked ditalini or small pasta; simmer until pasta is al dente, usually 8 to 12 minutes depending on pasta size. If using a slow cooker add pasta in the last 30 to 40 minutes. For Instant Pot, you may prefer to cook pasta separately and add later to avoid mush.
6. Taste and adjust seasoning adding the additional 1/2 teaspoon salt if needed, more black pepper or red pepper flakes for heat, and 1 teaspoon sugar or honey if the tomatoes taste too bright. Remove the bay leaf and the Parmesan rind if you used one.
7. Stir in 2 cups fresh baby spinach or chopped kale and cook just until wilted, about 1 to 2 minutes. Remove from heat and stir in 1 tablespoon red wine or balsamic vinegar to brighten the soup.
8. Ladle into bowls, sprinkle with 1/2 cup freshly grated Parmesan or a vegetarian hard cheese if needed, scatter 2 tablespoons chopped parsley and drizzle with a little extra olive oil if you like.
9. Leftovers thicken as they cool because the pasta and beans absorb broth; thin with extra vegetable broth or water when reheating and re-season if needed.
10. Tip: if you want a creamier texture, mash a cup of the beans against the side of the pot before adding the pasta, or pulse 1 cup of soup in a blender and return it to the pot.
Equipment Needed
1. Large heavy pot (Dutch oven works great)
2. Wooden spoon or heatproof spatula
3. Chef’s knife and cutting board
4. Measuring cups and spoons
5. Can opener and colander (for draining beans)
6. Ladle and soup bowls
7. Small saucepan (if you want to cook pasta separately)
8. Immersion blender or regular blender (optional for a creamier texture)
FAQ
Pasta Fagioli Recipe Substitutions and Variations
- Extra virgin olive oil: use avocado oil, light olive oil, or even good quality canola oil if you need a neutral flavor; works fine for sautéing.
- Cannellini beans (or great northern): swap in navy beans, chickpeas, or drained white kidney beans for basically the same creamy texture and protein.
- Ditalini or small tube pasta: try small shells, orzo, or acini di pepe if you want a similar bite; if gluten-free you can use GF ditalini or small GF pasta, just watch the cooking time.
- Freshly grated Parmesan: use Pecorino Romano for a saltier tang, Grana Padano for a milder nutty note, or nutritional yeast for a vegan option that still gives a cheesy flavor.
Pro Tips
1) Don’t blast the pan with heat. Get the oil hot but keep it at medium, sweat the onion, carrot and celery slowly so they get sweet not brown. If they start to brown, turn it down; you want depth, not burned bits.
2) Brown the tomato paste before you add the broth. Let it sizzle a minute with the garlic so it loses that raw tinny taste. It makes a big difference in richness, really.
3) Add pasta last and watch the time. Cook it until just al dente in the pot, or better yet cook it separately and add right before serving if you want leftovers that don’t turn into mush. If you do cook pasta in the soup, plan to thin leftovers with extra broth when reheating.
4) Use the Parmesan rind and a little vinegar. Tossing in a rind while it simmers gives a savory backbone, and a splash of red wine or balsamic vinegar at the end brightens everything. If it tastes too acidic, a tiny pinch of sugar or honey fixes it fast.

Pasta Fagioli Recipe
I just made a Pasta Fagioli Soup Recipe that actually tops Olive Garden and still leaves you with a healthy, vegetarian pot of comfort that's ridiculously easy whether you want to use the stove, crockpot, or Instant Pot.
6
servings
330
kcal
Equipment: 1. Large heavy pot (Dutch oven works great)
2. Wooden spoon or heatproof spatula
3. Chef’s knife and cutting board
4. Measuring cups and spoons
5. Can opener and colander (for draining beans)
6. Ladle and soup bowls
7. Small saucepan (if you want to cook pasta separately)
8. Immersion blender or regular blender (optional for a creamier texture)
Ingredients
-
2 tablespoons extra virgin olive oil
-
1 medium yellow onion, finely chopped
-
2 medium carrots, diced
-
2 celery stalks, diced
-
3 garlic cloves, minced
-
28 ounces crushed tomatoes (1 can)
-
2 tablespoons tomato paste
-
6 cups low sodium vegetable broth
-
2 15-ounce cans cannellini beans or great northern beans, drained and rinsed
-
1 to 1 1/2 cups ditalini or small tube pasta (uncooked)
-
1 teaspoon dried oregano
-
1 teaspoon dried basil
-
1/2 teaspoon dried thyme
-
1 bay leaf
-
1/4 to 1/2 teaspoon red pepper flakes, optional for heat
-
1 to 1 1/2 teaspoons kosher salt, to taste
-
1/2 teaspoon freshly ground black pepper
-
1 tablespoon red wine vinegar or balsamic vinegar
-
1 teaspoon granulated sugar or honey, optional to balance acidity
-
2 cups fresh baby spinach or chopped kale
-
1/2 cup freshly grated Parmesan cheese for serving, optional if strictly vegetarian use a vegetarian hard cheese
-
1 Parmesan rind, optional for cooking to deepen flavor
-
2 tablespoons chopped fresh parsley for garnish
-
Extra olive oil for drizzling when serving, optional
Directions
- Heat 2 tablespoons olive oil in a large heavy pot over medium heat until shimmering, then add the chopped onion, diced carrots and diced celery; cook, stirring often, until the veggies are soft and the onion is translucent, about 6 to 8 minutes.
- Stir in the minced garlic and cook 30 seconds until fragrant, then add the tomato paste and crushed tomatoes; cook 2 to 3 minutes, stirring, to take the raw edge off the tomato paste.
- Pour in 6 cups vegetable broth, add the drained beans, dried oregano, dried basil, dried thyme, bay leaf, red pepper flakes if using, 1 teaspoon kosher salt and 1/2 teaspoon black pepper; if you have a Parmesan rind toss it in now for extra depth. Bring to a simmer.
- For stovetop: simmer gently, uncovered, 10 minutes to let flavors marry. For crockpot: transfer everything to the crockpot and cook on low 4 to 6 hours or high 2 to 3 hours. For Instant Pot: use the soup setting or manual high pressure for 5 minutes, then quick release.
- After the base has simmered, add 1 to 1 1/2 cups uncooked ditalini or small pasta; simmer until pasta is al dente, usually 8 to 12 minutes depending on pasta size. If using a slow cooker add pasta in the last 30 to 40 minutes. For Instant Pot, you may prefer to cook pasta separately and add later to avoid mush.
- Taste and adjust seasoning adding the additional 1/2 teaspoon salt if needed, more black pepper or red pepper flakes for heat, and 1 teaspoon sugar or honey if the tomatoes taste too bright. Remove the bay leaf and the Parmesan rind if you used one.
- Stir in 2 cups fresh baby spinach or chopped kale and cook just until wilted, about 1 to 2 minutes. Remove from heat and stir in 1 tablespoon red wine or balsamic vinegar to brighten the soup.
- Ladle into bowls, sprinkle with 1/2 cup freshly grated Parmesan or a vegetarian hard cheese if needed, scatter 2 tablespoons chopped parsley and drizzle with a little extra olive oil if you like.
- Leftovers thicken as they cool because the pasta and beans absorb broth; thin with extra vegetable broth or water when reheating and re-season if needed.
- Tip: if you want a creamier texture, mash a cup of the beans against the side of the pot before adding the pasta, or pulse 1 cup of soup in a blender and return it to the pot.
Notes
- Below you’ll find my best estimate of this recipe’s nutrition facts. Treat the numbers as a guide rather than a rule—great food should nourish both body and spirit. Figures are approximate, and the website owner assumes no liability for any inaccuracies in this recipe.
Nutrition Facts
- Serving Size: 548g
- Total number of serves: 6
- Calories: 330kcal
- Fat: 7.8g
- Saturated Fat: 1.3g
- Trans Fat: 0g
- Polyunsaturated: 0.6g
- Monounsaturated: 3.2g
- Cholesterol: 2mg
- Sodium: 330mg
- Potassium: 430mg
- Carbohydrates: 43g
- Fiber: 7.3g
- Sugar: 4.2g
- Protein: 12g
- Vitamin A: 2167IU
- Vitamin C: 5mg
- Calcium: 198mg
- Iron: 3.7mg







