I love how this soup combines pantry staples like canned tomatoes and beans with just enough fresh ingredients to make it taste homemade. It’s warm, cozy, and full of flavor thanks to fire-roasted tomatoes, garlic, Italian herbs, and a hint of Parmesan. I also like how versatile it is—easy to make vegetarian or vegan, and perfect for meal prep since it tastes even better the next day.
Ingredients
(Here’s a tip: Check out the full list of ingredients and measurements in the recipe card below.)
1 cup heavy cream (or coconut/cashew cream for vegan)
2 cups fresh spinach (or thawed frozen spinach)
Directions
Prepare the Beans (if needed): If I’m using dried cannellini beans, I soak them overnight, then simmer until tender—usually about 1 to 1.5 hours. When I’m short on time, canned beans work just fine.
Sauté the Aromatics: In a large pot over medium heat, I warm the olive oil, then add the chopped onion. I cook it until translucent, about 5 minutes, and then stir in the garlic, letting it cook for another minute until fragrant.
Build the Base: I add the fire-roasted tomatoes, cooked cannellini beans, and vegetable broth. Then I season with Italian seasoning, salt, and pepper. I bring everything to a gentle boil and let it simmer for about 20 minutes on low heat, covered.
Blend (Optional): For a creamy texture, I use an immersion blender to puree the soup for 1–2 minutes—either completely smooth or leaving a bit of texture depending on my mood.
Add Spinach and Cream: I stir in the spinach and let it cook until wilted, about 4–5 minutes. Then I add the heavy cream (or plant-based alternative) and stir to combine.
Finish with Parmesan: Just before serving, I stir in a Parmesan rind or a handful of grated Parmesan until melted into the soup. This adds depth and richness I really enjoy.
For extra protein and texture, I sometimes add cooked quinoa or small pasta shapes.
To make it vegan, I swap in coconut cream and skip the Parmesan—or use a vegan version.
I like tossing in roasted red peppers or a pinch of smoked paprika for a smoky twist.
If I want it extra hearty, I serve it with grilled cheese or a thick slice of crusty bread on the side.
Storage/Reheating
Once cooled, I store the soup in an airtight container in the fridge for up to 4 days. It reheats beautifully on the stovetop or in the microwave. If I’ve added pasta or grains, I keep those separate and combine just before reheating to keep the texture right.
FAQs
Can I use another kind of bean?
Yes, I’ve used great northern beans or even chickpeas. Cannellini beans are ideal for their creamy texture, but other white beans work well too.
Do I have to blend the soup?
Not at all. I like blending part of it for a creamy base while keeping some chunks for texture, but it’s just as good left chunky or fully blended.
Can I freeze this soup?
Yes. I let it cool completely and freeze it in airtight containers for up to 2 months. I skip the cream before freezing and stir it in after reheating for best texture.
What if I don’t have a Parmesan rind?
I simply use grated Parmesan stirred in at the end—it still gives great flavor. Or I leave it out and rely on the Italian seasoning and creaminess from the beans.
Is it spicy?
No, this soup isn’t spicy by default. But if I want a little kick, I add crushed red pepper flakes or a splash of hot sauce.
Conclusion
This Savory Parmesan Tomato Cannellini Bean Soup is exactly what I reach for when I want something warm, comforting, and packed with flavor. It’s simple to make, deeply satisfying, and adaptable to just about any dietary need. Whether it’s a quiet weeknight or a cozy weekend, this soup always hits the spot.
This savory Parmesan tomato cannellini bean soup is hearty, creamy, and full of comforting Italian flavor—perfect for chilly nights or a nourishing weeknight meal.
1 cup heavy cream (or coconut/cashew cream for vegan option)
2 cups fresh spinach (or thawed frozen spinach)
Instructions
Prep dried beans (if using):
If using dried cannellini beans, soak overnight and cook in fresh water until tender (1–1.5 hours). Skip this step if using canned beans.
Sauté aromatics:
In a large pot over medium heat, heat olive oil. Add chopped onion and cook for 5 minutes until translucent. Stir in garlic and cook for 1 more minute.
Build the soup base:
Add fire-roasted tomatoes, cooked beans, and vegetable broth. Season with Italian seasoning, salt, and pepper. Bring to a gentle boil (~5 minutes).
Simmer:
Reduce heat to low, cover, and simmer for 20 minutes to deepen flavor.
Blend for creaminess (optional):
Use an immersion blender to partially or fully purée the soup to your preferred consistency (1–2 minutes).
Add cream and spinach:
Stir in spinach and cream. Cook for 4–5 minutes until spinach is wilted and soup is creamy.
Finish with Parmesan:
Stir in a Parmesan rind (let melt in the soup) or finish with freshly grated Parmesan before serving.
Notes
Store cooled leftovers in an airtight container in the refrigerator for up to 4 days.
For a vegan version, use coconut or cashew cream and omit the Parmesan rind.
Optional toppings: red pepper flakes, croutons, or a drizzle of olive oil.
Can be made ahead and reheated gently on the stovetop.