Introduction
This comforting Parmesan Tomato Cannellini Bean Soup Recipe is a hug in a bowl, featuring a rich, savory broth, creamy beans, and a generous sprinkle of cheese. After testing numerous variations, I’ve perfected this one-pot wonder to be both deeply flavorful and incredibly easy to make, making it a reliable staple for busy weeknights. The optional Parmesan rind is my secret weapon for adding a restaurant-quality depth of umami flavor.
Ingredients
The beauty of this soup lies in its simple, high-quality ingredients. Using a good brand of crushed tomatoes and freshly grated Parmesan cheese, rather than pre-shredded, makes a noticeable difference in the final flavor.
- 2 tbsp olive oil
- 1 medium onion, finely chopped
- 3 garlic cloves, minced
- 1 large carrot, diced
- 1 stalk celery, diced
- 1 can (28 oz) crushed tomatoes
- 2 cans (15 oz) cannellini beans, drained and rinsed
- 4 cups vegetable or chicken broth
- 1/2 cup grated Parmesan cheese
- 1 Parmesan rind (optional, but highly recommended)
- 1 tsp Italian seasoning
- Salt & pepper to taste
- 2 cups fresh spinach or kale (optional)
- Fresh basil or parsley for garnish
Timing
| Prep Time | 15 minutes |
| Cook Time | 30 minutes |
| Total Time | 45 minutes |
Context: This recipe is about 25% faster than many traditional bean soups because it uses canned beans, eliminating the need for soaking and long simmering. It’s a perfect make-ahead option, as the flavors meld and intensify beautifully overnight in the fridge.
Step-by-Step Instructions
Step 1 — Sauté the Aromatics
Heat the olive oil in a large Dutch oven or soup pot over medium heat. Add the chopped onion, carrot, and celery (this combination is called a mirepoix). Sautéing means cooking the vegetables until they soften and the onions become translucent, which should take about 7-8 minutes. Add the minced garlic and cook for one more minute until fragrant.
Step 2 — Build the Tomato Base
Pour in the entire can of crushed tomatoes, stirring to combine with the vegetables. Let this mixture simmer for 3-4 minutes. This step, known as “cooking out” the tomatoes, helps to caramelize their natural sugars and deepen the flavor, unlike simply adding them to broth later.
Step 3 — Add Beans, Broth, and Seasonings
Add the drained and rinsed cannellini beans, broth, Italian seasoning, and the optional Parmesan rind to the pot. Stir everything together and bring the soup to a gentle boil. (Pro tip: The rind is key for a silky, umami-rich broth; just remember to fish it out before serving).
Step 4 — Simmer to Develop Flavor
Once boiling, reduce the heat to low, cover the pot, and let the soup simmer for 20-25 minutes. This allows the flavors to fully meld. In my tests, this simmering time is optimal for the beans to warm through and become tender without breaking down completely.
Step 5 — Incorporate Cheese and Greens
Remove the pot from the heat. Take out the Parmesan rind if you used one. Stir in the grated Parmesan cheese until it melts into the broth, creating a creamy texture. If using, add the fresh spinach or kale and stir until just wilted, which takes about 1-2 minutes.
Step 6 — Final Seasoning and Serve
Taste your Parmesan Tomato Cannellini Bean Soup and season with salt and pepper as needed. Remember, the cheese and broth already contain salt, so add gradually. Ladle into bowls and garnish generously with fresh basil or parsley for a bright, fresh finish.

Nutritional Information
| Calories | ~310 |
| Protein | 15g |
| Carbohydrates | 45g |
| Fat | 9g |
| Fiber | 12g |
| Sodium | ~850mg |
This hearty cannellini bean soup is an excellent source of plant-based protein and fiber, promoting satiety and digestive health. It also provides a good amount of Vitamin A from the carrots and Vitamin C from the tomatoes. Estimates are based on typical ingredients and a 1.5-cup serving size; values may vary.
Healthier Alternatives
- Lower-Sodium Broth — Use a low-sodium or no-salt-added vegetable broth to better control the salt content, especially if your Parmesan rind is particularly salty.
- Dairy-Free Parmesan — For a vegan version, swap the Parmesan cheese for a tablespoon of nutritional yeast and a splash of cashew cream for a similar umami, creamy finish.
- Extra Greens — Double the spinach or kale to boost the vitamin and mineral content without significantly altering the soup’s comforting flavor profile.
- Leaner Protein — Add shredded rotisserie chicken or turkey meatballs in the last 5 minutes of simmering for a higher-protein, lower-carb meal.
- Whole-Grain Croutons — Instead of a side of crusty bread, top your bowl with homemade whole-grain croutons for added texture and fiber.
- Spice It Up — Add a pinch of red pepper flakes when sautéing the aromatics for a metabolism-boosting kick that enhances the tomato flavor.
Serving Suggestions
- Serve this rustic Parmesan tomato soup with a thick slice of crusty, grilled sourdough bread for dipping into the savory broth.
- For a complete Italian-inspired meal, pair it with a simple arugula salad dressed with lemon juice and olive oil.
- Top each bowl with an extra sprinkle of fresh Parmesan, a drizzle of high-quality olive oil, and a few cracks of black pepper for a restaurant-style presentation.
- This soup is perfect for casual weeknight dinners, but it’s also elegant enough for a starter course at a dinner party.
- A medium-bodied red wine like a Chianti or a crisp, dry white like Pinot Grigio complements the tomato and herb notes beautifully.
- In colder months, serve it piping hot in a pre-warmed bowl to keep it at the perfect temperature longer.
This recipe is incredibly versatile for meal prep. Double the batch on a Sunday, and you’ll have a healthy, satisfying lunch ready to go for the entire workweek.
Common Mistakes to Avoid
- Mistake: Using pre-shredded Parmesan cheese. Fix: It contains anti-caking agents that prevent it from melting smoothly into the broth. Always grate a block of Parmigiano-Reggiano fresh for the best flavor and texture.
- Mistake: Adding the garlic at the same time as the onions. Fix: Garlic burns quickly. As noted in Step 1, add it only after the mirepoix has softened and cook for just one minute until fragrant.
- Mistake: Skipping the step to simmer the tomatoes. Fix: The 3-4 minute simmer in Step 2 is crucial for developing a deep, rich tomato base instead of a raw, acidic flavor.
- Mistake: Forgetting to remove the Parmesan rind before serving. Fix: Set a timer or leave your spoon resting on the rind as a visual reminder to fish it out after simmering.
- Mistake: Over-salting before tasting. Fix: The broth and cheese add significant salt. Always do your final seasoning in Step 6, after the cheese has been incorporated.
- Mistake: Boiling the soup vigorously after adding the cheese. Fix: High heat can cause the dairy proteins to separate. Always remove the pot from heat before stirring in the grated Parmesan.
- Mistake: Using a pot that’s too small. Fix: Overcrowding prevents proper evaporation and flavor concentration. Use a large Dutch oven or stockpot as recommended.
Storing Tips
- Fridge: Cool the soup completely, then transfer to an airtight container. It will keep for up to 5 days at 40°F or below. The flavors meld and improve, making it a fantastic make-ahead meal.
- Freezer: For longer storage, freeze in portion-sized containers for up to 3 months. Leave about an inch of headspace for expansion. Freezing preserves over 95% of the soup’s nutrients and flavor.
- Reheat: Thaw frozen soup overnight in the fridge. Reheat gently on the stovetop over medium-low heat, stirring occasionally, until it reaches an internal temperature of 165°F. If it thickens, add a splash of broth or water.
For optimal food safety, never leave this creamy cannellini bean soup at room temperature for more than 2 hours. Dividing it into single-serving containers right after cooking makes for the easiest grab-and-go lunches.
Conclusion
This Parmesan Tomato Cannellini Bean Soup Recipe is the ultimate one-pot meal that delivers restaurant-quality flavor with minimal effort. It’s a versatile, nutrient-dense dish that’s perfect for meal prep and gets even better the next day. For another quick, comforting tomato-based dish, try this Tomato Basil Pasta Recipe. Give this soup a try and share your thoughts in the comments below!
Frequently Asked Questions
How many servings does this Parmesan Tomato Cannellini Bean Soup Recipe make?
This recipe yields about 6 generous, main-course servings of approximately 1.5 cups each. It’s perfect for feeding a family or providing several days of lunches. For a larger crowd, you can easily double the ingredients using a large stockpot.
What can I use instead of cannellini beans in this soup?
Great Northern beans or navy beans are the best substitutes, offering a similar creamy texture and mild flavor. Chickpeas (garbanzo beans) will work but provide a firmer, nuttier bite. I’ve tested both, and while chickpeas are delicious, Great Northern beans maintain the classic, velvety consistency of the original recipe.
Why is my bean soup too thin or watery?
Why is my bean soup too thin or watery?
This usually happens if the soup doesn’t simmer long enough for the liquid to reduce, or if the pot was covered the entire time. To fix it, simply simmer uncovered for an additional 10-15 minutes to allow evaporation. For an instant thicker texture, you can also mash a small portion of the beans directly in the pot with a fork before serving.
PrintParmesan Tomato Cannellini Bean Soup Recipe
- Author: Dorothy Miler
Ingredients
- 2 tbsp olive oil
- 1 medium onion, finely chopped
- 3 garlic cloves, minced
- 1 large carrot, diced
- 1 stalk celery, diced
- 1 can (28 oz) crushed tomatoes
- 2 cans (15 oz) cannellini beans, drained and rinsed
- 4 cups vegetable or chicken broth
- 1/2 cup grated Parmesan cheese
- 1 Parmesan rind (optional)
- 1 tsp Italian seasoning
- Salt & pepper to taste
- 2 cups fresh spinach or kale (optional)
- Fresh basil or parsley for garnish
Instructions
- Heat olive oil in a large pot over medium heat.
- Sauté onion, carrot, and celery until soft (about 5 minutes).
- Add garlic and cook for 1 more minute.
- Stir in tomatoes, beans, broth, seasoning, and Parmesan rind.
- Bring to a boil, reduce heat, and simmer for 20 minutes.
- Stir in grated Parmesan until melted.
- Add greens and cook until wilted (about 2 minutes).
- Remove Parmesan rind. Serve with fresh herbs and extra Parmesan.



