Ham and White Bean Soup with Spinach and Cream Recipe
Introduction
Ham and bean soup is a comforting, hearty dish perfect for chilly days. Packed with tender ham, creamy beans, and fresh spinach, this soup offers rich flavors and satisfying textures in every spoonful.

Ingredients
- 3 tablespoons olive oil (divided)
- 2-1/2 packed cups cooked ham (shredded or chopped)
- 2 tablespoons unsalted butter
- 1 cup diced yellow onion (about 1/2 onion)
- 1 cup diced carrots (about 2 carrots)
- 1 tablespoon minced garlic (3 cloves)
- 1/2 teaspoon salt
- 1/2 teaspoon pepper
- 3/4 teaspoon dried thyme
- 3/4 teaspoon dried oregano
- 1/8 teaspoon ground cayenne pepper
- 2 tablespoons all-purpose flour
- 32 ounces chicken broth
- 30 ounces white beans (canned, drained)
- 2 bay leaves
- 3 cups fresh baby spinach (coarsely chopped)
- 1 cup heavy cream
- 3/4 cup whole milk (or more heavy cream)
- Hearty buttered bread (optional, for serving)
Instructions
- Step 1: In a large pot over medium-high heat, add 1 tablespoon of olive oil. Add the ham and sauté until golden and slightly crispy. Transfer the ham to a plate with a slotted spoon. If the pot has more than 2 tablespoons of grease, drain the excess; if not, add 2 tablespoons of olive oil.
- Step 2: Add butter, diced onion, carrots, and minced garlic to the pot. Sauté for 4 to 6 minutes until the vegetables are soft. Stir in salt, pepper, thyme, oregano, cayenne pepper, and flour. Continue to sauté for 1 more minute, stirring constantly.
- Step 3: Gradually pour in 1 cup of chicken broth, stirring constantly and scraping the pot to release browned bits. Once the mixture thickens, add the remaining 3 cups of broth. Add one can of drained beans and bay leaves. Bring to a boil, then reduce heat to a gentle simmer. Simmer uncovered for 10 to 15 minutes, stirring occasionally.
- Step 4: Remove 2 cups of soup and blend until smooth. Return the blended soup to the pot and stir well to combine.
- Step 5: Add the remaining can of beans, chopped spinach, ham, heavy cream, and milk to the pot. Simmer over medium heat for 3 to 5 minutes until the spinach wilts and the soup thickens. Remove and discard the bay leaves. Taste and adjust seasonings as needed.
- Step 6: Serve the soup immediately, paired with hearty buttered bread if desired.
Tips & Variations
- Use smoked ham for extra depth of flavor.
- Substitute white beans with cannellini or great northern beans for slight variations in texture.
- For a thicker soup, blend more of the soup before adding the spinach and cream.
- Replace milk with all heavy cream to make the soup richer.
- Add a splash of lemon juice or vinegar at the end to brighten flavors.
Storage
Store leftovers in an airtight container in the refrigerator for up to 3 days. Reheat gently on the stove over medium-low heat, stirring occasionally. If the soup has thickened too much after refrigeration, add a splash of broth or milk when reheating to loosen the texture.
How to Serve
Serve this delicious recipe with your favorite sides.
FAQs
Can I use dried beans instead of canned?
Yes, but be sure to soak and cook the dried beans separately until tender before adding them to the soup to ensure proper texture and cooking time.
Is it possible to make this soup vegetarian?
To make a vegetarian version, omit the ham and use vegetable broth instead of chicken broth. Add smoked paprika or liquid smoke to replicate the smoky flavor.
PrintHam and White Bean Soup with Spinach and Cream Recipe
This creamy Ham and Bean Soup combines tender chunks of ham, white beans, and fresh baby spinach in a rich, flavorful broth thickened with a blend of sautéed vegetables and cream. Perfectly seasoned with thyme, oregano, and a hint of cayenne pepper, this comforting soup is a hearty meal ideal for cozy dinners served alongside buttered bread.
- Prep Time: 15 minutes
- Cook Time: 30 minutes
- Total Time: 45 minutes
- Yield: 6 servings 1x
- Category: Soup
- Method: Stovetop
- Cuisine: American
Ingredients
Ham and Base
- 3 tablespoons olive oil (divided)
- 2–1/2 packed cups cooked ham (shredded or chopped)
- 2 tablespoons unsalted butter
Vegetables and Aromatics
- 1 cup diced yellow onion (about 1/2 onion)
- 1 cup diced carrots (about 2 carrots)
- 1 tablespoon minced garlic (about 3 cloves)
Seasonings and Thickeners
- 1/2 teaspoon salt
- 1/2 teaspoon pepper
- 3/4 teaspoon dried thyme
- 3/4 teaspoon dried oregano
- 1/8 teaspoon ground cayenne pepper
- 2 tablespoons all-purpose flour
Liquids and Beans
- 32 ounces chicken broth
- 30 ounces white beans (2 cans, 15 ounces each, drained)
- 2 bay leaves
Greens and Dairy
- 3 cups fresh baby spinach (coarsely chopped)
- 1 cup heavy cream
- 3/4 cup whole milk (or more heavy cream as preferred)
Optional
- Hearty buttered bread (for serving)
Instructions
- Cook Ham: In a large pot over medium-high heat, add 1 tablespoon of olive oil. Add the shredded or chopped ham and sauté until it becomes golden and slightly crispy. Use a slotted spoon to transfer the ham to a plate. Do not wipe out the pot. If there is more than 2 tablespoons of grease, drain the excess; otherwise, add 2 tablespoons of olive oil.
- Cook Vegetables: Add the unsalted butter, diced onion, diced carrots, and minced garlic to the pot. Sauté for 4 to 6 minutes, until the vegetables become soft. Stir in the salt, pepper, dried thyme, dried oregano, cayenne pepper, and all-purpose flour. Continue to sauté for 1 more minute, stirring constantly to cook the flour.
- Add Broth and Beans: Gradually pour in 1 cup of chicken broth while stirring constantly, scraping the bottom of the pot to release any browned bits. Once the mixture thickens, gradually add the remaining 3 cups of broth. Add one can (15 ounces) of drained white beans and the bay leaves. Bring the soup to a boil, then reduce the heat to a gentle simmer. Simmer uncovered for 10 to 15 minutes, stirring occasionally.
- Blend Soup: Remove 2 cups of the soup and blend it until smooth to help thicken the texture without adding extra flour. Return the blended mixture back into the pot and stir to combine evenly.
- Finish the Soup: Add the remaining can (15 ounces) of white beans, coarsely chopped baby spinach, cooked ham, heavy cream, and whole milk. Simmer on medium heat for 3 to 5 minutes, until the spinach wilts and the soup thickens slightly. Remove and discard the bay leaves. Taste the soup and adjust seasonings if necessary.
- Serve: Serve the soup hot immediately, with hearty buttered bread on the side if desired for a comforting, complete meal.
Notes
- Use leftover ham or store-bought cooked ham for convenience.
- Adjust the heat by increasing or omitting the cayenne pepper to suit your taste.
- For a richer soup, replace the whole milk with additional heavy cream as preferred.
- Blending part of the soup creates a creamy texture without needing to add heavy thickeners.
- This soup freezes well; store cooled leftovers in airtight containers for up to 3 months.
Keywords: ham and bean soup, creamy bean soup, hearty soup, ham recipes, white bean soup, comfort food, easy dinner soup

