Creamy Italian Bean and Parmesan Soup
Creamy cannellini beans, Parmesan, and fresh spinach come together in this hearty Italian soup that's rich, comforting, and perfect with a slice of warm crusty bread.
Prep Time 15 minutes mins
Cook Time 35 minutes mins
Total Time 50 minutes mins
- 3 tablespoons olive oil
- 1 medium onion, finely chopped
- 2 carrots, diced
- 2 celery stalks, diced
- 3 cloves garlic, minced
- 1 14 oz. can crushed tomatoes
- 2 cans (15 oz each) cannellini beans, drained and rinsed
- 4 cups chicken or vegetable broth
- 1 cup whole milk or half-and-half
- 1 Parmesan rind (optional, for depth of flavor)
- ½ cup freshly grated Parmesan cheese, plus extra for serving
- 1 teaspoon dried oregano
- ½ teaspoon dried thyme
- 1 bay leaf
- 3 cups fresh spinach, roughly chopped
- Salt and freshly ground black pepper, to taste
- 2 tablespoons fresh parsley, chopped (for garnish)
Sauté the baseIn a large pot, heat olive oil over medium heat. Add onion, carrots, and celery. Cook until softened, about 6–7 minutes. Stir in garlic and cook 1 more minute. Add the crushed tomatoes cook 5 minutes longer Add beans and brothStir in beans, oregano, thyme, bay leaf, and Parmesan rind (if using). Pour in the broth and bring to a simmer. Cook uncovered for 15–20 minutes Blend for creaminessRemove bay leaf and rind. Use an immersion blender to puree about half the soup, leaving some beans whole. (Or transfer a few cups to a blender and return to pot.) Finish with Parmesan & milkStir in milk (or half-and-half) and Parmesan. Simmer gently for 5 minutes, stirring often, until creamy. Add spinachStir in spinach and cook just until wilted, about 2 minutes. Season with salt and pepper. ServeLadle into bowls, garnish with fresh parsley and extra Parmesan, and serve with warm bread.