Go Back

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
Cook Time 35 minutes
Total Time 50 minutes
Servings 4

Ingredients
  

  • 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)

Instructions
 

  • Sauté the base
    In 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 broth
    Stir 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 creaminess
    Remove 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 & milk
    Stir in milk (or half-and-half) and Parmesan. Simmer gently for 5 minutes, stirring often, until creamy.
  • Add spinach
    Stir in spinach and cook just until wilted, about 2 minutes. Season with salt and pepper.
  • Serve
    Ladle into bowls, garnish with fresh parsley and extra Parmesan, and serve with warm bread.