Print
clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon

Creamy Parmesan Tomato & Cannellini Bean Soup


  • Author: Rachel Mills

Description

Warm up with a comforting bowl of Creamy Parmesan Tomato & Cannellini Bean Soup 🍅🫘🧀 — silky tomatoes, hearty beans and a cheesy finish. Perfect for cozy nights and easy weeknight dinners!


Ingredients

– 2 tbsp olive oil 🫒

– 1 large onion, diced 🧅

– 3 garlic cloves, minced 🧄

– 1 medium carrot, diced 🥕

– 1 celery stalk, diced 🌿

– 28 oz (800 g) crushed tomatoes 🍅

– 2 cans (15 oz each) cannellini beans, drained and rinsed 🫘

– 4 cups (960 ml) vegetable or chicken broth 🥣

– 1 bay leaf 🍃

– 1 tsp sugar (optional) 🍬

– 1/2 cup heavy cream (120 ml) 🥛

– 1 cup grated Parmesan cheese 🧀

– Salt to taste 🧂

– Freshly ground black pepper to taste (optional) 🌶️

– Red pepper flakes, pinch (optional) 🌶️

– Fresh basil leaves for garnish 🌿

– Crusty bread, for serving 🍞


Instructions

1 Heat olive oil in a large pot over medium heat 🫒.

2 Add the diced onion, carrot and celery; sauté until softened, about 6–8 minutes 🧅🥕🌿.

3 Stir in the minced garlic and cook 1 minute more until fragrant 🧄.

4 Add the crushed tomatoes, cannellini beans, broth, bay leaf and sugar. Stir to combine 🍅🫘🥣.

5 Bring to a simmer, then reduce heat and let gently simmer for 15–20 minutes to meld flavors 🍲.

6 Remove the bay leaf. Use an immersion blender to partially purée the soup for a creamy texture, leaving some beans whole for body (or transfer half to a blender) 🔄.

7 Stir in the heavy cream and grated Parmesan until melted and smooth; heat gently but do not boil 🥛🧀.

8 Season with salt, freshly ground pepper and red pepper flakes to taste 🧂🌶️.

9 Ladle into bowls and garnish with torn basil leaves and extra Parmesan. Serve with crusty bread 🍞🌿.

10 Enjoy warm — leftovers keep well in the fridge for 3 days and reheat gently on the stove 🔥.