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, it’s a satisfying meal that families love. This recipe is easy to follow and yields a rich, flavorful soup.

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 (about 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 (drained and rinsed)
- 2 bay leaves
- 3 cups fresh baby spinach (coarsely chopped)
- 1 cup heavy cream
- 3/4 cup whole milk (or more heavy cream as preferred)
- Hearty buttered bread (optional, for serving)
Instructions
- Step 1: In a large pot over medium-high heat, heat 1 tablespoon of olive oil. Add the ham and sauté until it turns golden and slightly crispy. Remove the ham with a slotted spoon and transfer to a plate. Don’t wipe out the pot.
- Step 2: Check the amount of grease in the pot. If more than 2 tablespoons, drain the excess. If less, add 2 tablespoons olive oil.
- Step 3: Add the butter, diced onion, carrots, and minced garlic to the pot. Sauté for 4–6 minutes until the vegetables are soft.
- Step 4: Stir in the salt, pepper, thyme, oregano, cayenne, and flour. Continue cooking and stirring for 1 more minute to cook off the raw flour taste.
- Step 5: Gradually pour in 1 cup of chicken broth while stirring constantly, scraping the bottom of the pot to loosen browned bits. Once the mixture thickens, gradually add the remaining 3 cups of broth.
- Step 6: Add one can (about 15 ounces) of drained white beans and the bay leaves. Bring the soup to a boil, then reduce heat to a gentle simmer. Cook uncovered for 10–15 minutes, stirring occasionally.
- Step 7: Remove about 2 cups of soup and blend it until smooth. Return the blended soup to the pot and stir to combine.
- Step 8: Add the remaining can of beans, chopped spinach, sautéed ham, heavy cream, and milk to the pot. Simmer over medium heat for 3–5 minutes until the spinach wilts and the soup thickens slightly.
- Step 9: Remove and discard the bay leaves. Taste the soup and adjust seasonings as needed.
- Step 10: Serve the soup hot, optionally with hearty buttered bread on the side.
Tips & Variations
- Use smoked ham for extra depth of flavor.
- For a thicker soup, blend more of the soup mixture before adding the remaining beans.
- Substitute kale for spinach if preferred, but add it a bit earlier to allow for tougher texture.
- To make the soup dairy-free, omit the cream and milk or use coconut milk instead.
Storage
Store leftover ham and bean soup in an airtight container in the refrigerator for up to 4 days. Reheat gently on the stove over low heat, adding a splash of broth or water to loosen the soup if it has thickened. This soup also freezes well for up to 3 months; thaw overnight in the refrigerator before reheating.
How to Serve

Serve this delicious recipe with your favorite sides.
FAQs
Can I use canned ham or leftover ham for this soup?
Yes, cooked leftover ham works perfectly. Just chop or shred it before sautéing. Avoid uncooked ham or ham with added liquid brines for the best texture and flavor.
What type of beans work best?
White beans like cannellini, great northern, or navy beans are ideal for their creamy texture and mild flavor that complements the ham well.
Print
Ham and White Bean Soup with Spinach and Cream Recipe
- Total Time: 1 hour
- Yield: 4 servings 1x
Description
This comforting Ham and Bean Soup combines tender pieces of ham, creamy white beans, and fresh spinach in a rich, flavorful broth. Cooked on the stovetop, the soup is thickened with a roux and finished with cream and milk for a hearty and satisfying meal perfect for chilly days.
Ingredients
Meat
- 2–1/2 packed cups cooked ham (shredded or chopped)
Vegetables
- 1 cup diced yellow onion (about 1/2 onion)
- 1 cup diced carrots (about 2 carrots)
- 1 tablespoon minced garlic (about 3 cloves)
- 3 cups fresh baby spinach (coarsely chopped)
Pantry Staples
- 3 tablespoons olive oil (divided)
- 2 tablespoons unsalted butter
- 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 (2 cans, drained)
- 2 bay leaves
Dairy
- 1 cup heavy cream
- 3/4 cup whole milk (or more heavy cream as an alternative)
Serving Suggestion
- Hearty buttered bread (optional, for serving)
Instructions
- Cook Ham: Heat 1 tablespoon of olive oil in a large pot over medium-high heat. Add the chopped ham and sauté until it becomes golden brown and slightly crispy. Remove the ham with a slotted spoon and set aside on a plate. If the cooking fat exceeds 2 tablespoons, drain the excess; otherwise, add 2 tablespoons of olive oil to the pot.
- Cook Veggies: Add unsalted butter, diced onion, diced carrots, and minced garlic to the pot. Sauté for 4 to 6 minutes until the vegetables soften. Stir in salt, pepper, dried thyme, dried oregano, ground cayenne pepper, and all-purpose flour. Continue to cook, stirring constantly, for 1 minute to form a roux.
- Add Broth and Beans: Slowly pour in 1 cup of chicken broth while stirring continuously to lift any browned bits from the pot bottom. Once this mixture thickens, add the remaining 3 cups of broth. Stir in one can of drained white beans and the bay leaves. Bring the soup to a boil, then reduce heat to maintain a gentle simmer. Cook uncovered for 10 to 15 minutes, stirring occasionally.
- Blend: Remove 2 cups of the soup and blend until smooth to add creaminess and body to the soup. Return the blended soup back to the pot and mix thoroughly.
- Finish Soup: Add the remaining can of beans, chopped spinach, cooked ham, heavy cream, and milk. Simmer on medium heat for 3 to 5 minutes until the spinach wilts and the soup thickens. Remove and discard bay leaves. Taste and adjust seasoning as needed.
- Serve: Serve the hot soup immediately, optionally accompanied by hearty buttered bread for a complete meal.
Notes
- Use leftover cooked ham or purchase pre-cooked ham for convenience.
- If you prefer a richer soup, substitute the whole milk with additional heavy cream.
- Blending part of the soup creates a creamy texture without using excessive cream.
- For a thicker texture, you can blend more soup or reduce the cooking liquid slightly.
- Prep Time: 15 minutes
- Cook Time: 45 minutes
- Category: Soup
- Method: Stovetop
- Cuisine: American
Keywords: ham and bean soup, creamy ham soup, white bean soup, hearty soup, stovetop soup, comfort food

