Creamy Parmesan Tomato and Cannellini Bean Soup is a comforting bowl filled with smooth tomato flavors, tender cannellini beans, and a rich parmesan finish that adds the perfect touch of creaminess. This soup feels like a warm hug on a chilly day, with its cozy texture and gentle blend of savory ingredients.
I love making this soup whenever I want something both filling and simple. The beans add a nice heartiness, while the parmesan gives it a slightly nutty and cheesy flavor without being too heavy. I usually let it simmer slowly so all the flavors get to know each other really well—it’s a great way to spend a quiet afternoon in the kitchen.
One of my favorite ways to enjoy this soup is with some crusty bread for dipping, or a simple green salad on the side. It’s also great for leftovers because the flavors deepen overnight. Whether you’re cooking for yourself or sharing it with friends, this soup feels like a little bit of home in a bowl.
Key Ingredients & Substitutions
Cannellini Beans: These white beans add creaminess and protein. You can swap them for navy beans or great northern beans if needed. Canned beans are easiest, but soaked dried beans work too.
Parmesan Cheese: Parmesan gives this soup a nutty, salty flavor and creamy texture. If you’re avoiding dairy, try nutritional yeast or a vegan Parmesan substitute.
Diced Tomatoes: Use canned diced tomatoes for convenience and consistent flavor. Fresh tomatoes can work but need longer cooking and more blending to get that smooth texture.
Heavy Cream or Half-and-Half: This adds richness and smoothness. For a lighter option, use coconut milk or unsweetened plant-based cream alternatives.
How Do You Get the Perfect Creamy Texture Without Losing All the Beans?
Blending the soup is key to its creamy texture, but you don’t want to turn it into a puree. Here’s how I do it:
- Use an immersion blender right in the pot and pulse gently to mash some beans but leave others whole.
- If you don’t have an immersion blender, blend half of the soup in a regular blender, then mix it back in.
- This way, you keep some texture while still making the soup smooth and creamy.
After blending, stir in Parmesan and cream off the heat or very low heat to avoid curdling. This keeps your soup silky and smooth.

Equipment You’ll Need
- Large soup pot – It’s perfect for sautéing and simmering everything in one place, making the process simple.
- Immersion blender or regular blender – Helps you blend part of the soup to reach that creamy texture.
- Measuring cups and spoons – Keep things precise, especially for cheese and seasonings.
- Wooden spoon or spatula – Great for stirring and scraping the bottom as your soup cooks.
- Grater – For freshly grated Parmesan, adding the best flavor and texture to your soup.
Flavor Variations & Add-Ins
- Extra greens: Add spinach or kale during the last 5 minutes for extra nutrients and color.
- Protein boost: Stir in cooked shredded chicken or sausage for more heartiness.
- Spicy kick: Add a pinch of red pepper flakes or hot sauce to spice things up.
- Cheese twist: Mix in crumbled feta or shredded mozzarella instead of Parmesan for a different cheesy flavor.

Creamy Parmesan Tomato and Cannellini Bean Soup
Ingredients You’ll Need:
- 2 tablespoons olive oil
- 1 small onion, finely chopped
- 3 cloves garlic, minced
- 1 can (14 oz) diced tomatoes
- 1 can (15 oz) cannellini beans, drained and rinsed
- 3 cups vegetable or chicken broth
- ½ cup grated Parmesan cheese, plus extra for serving
- ½ cup heavy cream or half-and-half
- 1 teaspoon dried basil or 1 tablespoon fresh basil, chopped
- ½ teaspoon dried oregano
- Salt and freshly ground black pepper, to taste
- Fresh basil leaves, chopped, for garnish
How Much Time Will You Need?
This soup takes about 10 minutes to prepare and around 25 minutes to cook. So, in just about 35 minutes, you’ll have a warm, creamy bowl ready to enjoy!
Step-by-Step Instructions:
1. Sauté the Onions and Garlic:
Heat the olive oil in a large pot over medium heat. Add your chopped onion and cook until it’s soft and see-through, about 4 to 5 minutes. Then add the minced garlic and cook for another minute, stirring so it doesn’t burn.
2. Add Tomatoes, Beans, and Seasonings:
Pour in the diced tomatoes (including juices), cannellini beans, and broth. Sprinkle in the dried basil and oregano. Stir everything together and bring it up to a gentle simmer.
3. Let the Soup Simmer:
Allow the soup to cook gently for 15 to 20 minutes, letting all the flavors blend beautifully.
4. Blend to Creamy Perfection:
Use an immersion blender to partially blend the soup right in the pot until it gets creamy but still has some chunks for texture. If you don’t have an immersion blender, carefully transfer half the soup to a blender, puree, then mix it back into the pot.
5. Add Parmesan and Cream:
Stir in the grated Parmesan and heavy cream until everything is smooth. Keep the heat low to avoid boiling, which might cause the cream to separate.
6. Season and Serve:
Taste your soup, and add salt and freshly ground black pepper as you like. Ladle the soup into bowls, sprinkle with extra Parmesan and fresh basil, and finish with a little cracked black pepper.
7. Optional Serving Suggestion:
Serve with toasted crusty bread slices on the side for dipping and soaking up all that lovely creamy soup.

Can I Use Dried Beans Instead of Canned?
Yes! If you prefer dried cannellini beans, soak them overnight and cook until tender before adding them to the soup. This will require extra time but adds a fresh texture.
Can I Substitute Heavy Cream with a Lighter Option?
Absolutely! Half-and-half, whole milk, or even coconut milk can work as lighter alternatives. Just keep the heat low to avoid curdling.
How Should I Store Leftovers?
Store soup in an airtight container in the fridge for up to 3 days. Reheat gently on the stove, stirring occasionally. The soup may thicken after refrigeration; add a splash of broth or water when reheating to loosen it.
What Can I Use if I Don’t Have an Immersion Blender?
No immersion blender? No problem! Transfer half the soup carefully to a regular blender, puree until smooth, then stir it back into the pot for that creamy texture.