Ham and Bean Soup is a hearty, high-protein soup that’s perfect for a satisfying lunch or dinner when you want something warm, comforting, and easy to make. Tender ham, creamy white beans, and colorful vegetables simmer together in a flavorful broth to create a meal that’s comforting without feeling heavy.
This recipe can also be gluten-free when prepared with certified gluten-free ham, chicken broth, and chicken bouillon. It’s packed with protein and fiber, making it a filling option that can help keep you satisfied for hours. It’s an excellent choice for meal prep, healthy family dinners, or anyone looking for a nutritious homemade soup.
Every spoonful is filled with smoky ham, creamy white beans, sweet carrots, celery, onions, and herbs that slowly blend together into a rich, savory broth. The beans naturally thicken the soup as they simmer, giving it a creamy texture without adding heavy cream. Pair it with a slice of crusty artisan bread for a warm, comforting meal that’s perfect on a chilly day.
Why You’ll Love This Ham and Bean Soup
Whether you’re using leftover holiday ham or simply craving a hearty homemade soup, this ham and bean soup is an easy recipe you’ll find yourself making again and again.
- One-pot recipe
- High in protein and fiber
- Low in calories and incredibly filling
- Naturally gluten-free with gluten-free broth
- Great for meal prep
- Budget-friendly
- Family-friendly comfort food
- Perfect for using leftover ham
- Freezes beautifully
Why This High Protein Ham and Bean Soup Keeps You Full
This recipe is not only warm and comforting, but it’s also packed with nutrition. Each bowl delivers over 30 grams of protein along with nearly 11 grams of fiber, two nutrients that work together to help you stay satisfied longer.
At just 385 calories per serving, this soup makes an excellent choice for lunch or dinner if you’re looking for a healthy, filling meal. Because it’s naturally high in protein and fiber, this soup also reheats exceptionally well, making it a great option for meal prep lunches throughout the week.
Ingredient Notes and Substitutions
Olive oil (2 tsp) – Avocado oil or butter work just as well for sautéing the vegetables.
Onion, diced (1 medium) – Yellow onion provides the best flavor, but white onion or shallots are excellent substitutes.
Carrots, diced (2) – Baby carrots work perfectly if diced into small pieces. Sweet potatoes can also be used for a slightly sweeter soup.
Celery stalks, diced (2) – Fennel makes a great substitute if you enjoy a mild anise flavor, or simply add an extra carrot if you don’t have celery.
Garlic, minced (3 cloves) – Substitute with 1½ teaspoons garlic powder or 1 teaspoon granulated garlic.
Cooked ham, diced (4 cups) – Leftover holiday ham works wonderfully. You can also substitute smoked turkey, smoked sausage, bacon, or turkey ham. If you’re making this gluten-free, be sure your ham is certified gluten-free.
Great Northern beans, drained and rinsed (2 15-ounce cans) – Cannellini beans, navy beans, butter beans, or even chickpeas are all excellent alternatives.
Low-sodium chicken broth (4 cups) – Vegetable broth works well for a lighter flavor, while ham broth or homemade stock adds even more richness.
Water (1 cup) – You can replace the water with additional chicken broth for a deeper, more savory soup.
Chicken bouillon powder (1 tsp) – Better Than Bouillon Roasted Chicken Base (1 teaspoon), chicken bouillon cubes (1 cube), or granulated bouillon all work well. If using regular bouillon, taste the soup before adding extra salt since bouillon contains sodium.
Dried thyme (1 tsp) – Substitute with poultry seasoning or rosemary. If using fresh thyme, use about 1 tablespoon.
Dried parsley (1 tsp) – Fresh parsley works beautifully. Use about 1 tablespoon chopped and stir it in during the last few minutes of cooking.
Bay leaf (1) – If you don’t have one, simply leave it out. The soup will still be delicious.
Salt (¼ tsp) – Wait until the soup has finished simmering before adding extra salt since ham varies quite a bit in sodium content.
Black pepper (½ tsp) – Freshly cracked black pepper provides the best flavor, but white pepper can be used for a milder finish.
- For the creamiest texture: Great Northern beans soften beautifully while still holding their shape.
- Best ham: Leftover holiday ham has the richest flavor, but any fully cooked ham works well.
- Control the salt: Ham and chicken bouillon already add quite a bit of sodium. Using low-sodium broth lets you season the soup to taste after it finishes simmering.
Step-by-Step: How to Make Ham and Bean Soup
Step 1
Heat the olive oil in a large Dutch oven over medium heat.
Add the onion, carrots, and celery. Cook for 8 to 10 minutes until the vegetables begin to soften.
During testing, sautéing the vegetables first developed much deeper flavor than adding everything directly into the broth. The onions also became naturally sweeter, giving the soup a richer taste.
Step 2
Add the garlic and cook for about 30 seconds until fragrant.
Avoid browning the garlic, as it can become bitter.
Step 3
Add the diced ham and cook for another 3 to 4 minutes.
We found lightly browning the ham before adding the broth created much more flavor than simply simmering it from the start. The caramelized edges added another layer of savory richness throughout the soup.
Step 4
Pour in the chicken broth and water.
Stir in the chicken bouillon powder, bay leaf, thyme, parsley, black pepper, and salt. Bring the soup to a gentle boil.
During testing, adding a small amount of chicken bouillon noticeably deepened the broth without overpowering the ham. It gave the soup a richer, slow-simmered flavor while keeping the ingredient list simple.
Step 5
Stir in the drained Great Northern beans.
Reduce the heat to low. Cover and simmer for 20 to 25 minutes.
During testing, a gentle simmer produced much creamier beans while keeping the diced vegetables tender without becoming mushy. A rapid boil caused several of the beans to split apart too quickly.
Step 6
Remove the bay leaf.
Using the back of a wooden spoon, lightly mash about one cup of the beans against the side of the pot before stirring them back into the soup.
This simple step naturally thickened the broth without needing flour or cream while still leaving plenty of whole beans for texture.
Step 7
Taste and adjust the seasoning if needed.
Let the soup rest for about 10 minutes. This gives the broth a chance to thicken slightly and allows the flavors to meld together.
Sprinkle with fresh parsley just before serving.
Notes to the Cook
- Leftover ham steak or holiday ham both work beautifully.
- Great Northern beans produce a creamier soup than navy beans, while cannellini beans hold their shape slightly better.
- Don’t skip sautéing the vegetables first. It builds much more flavor than simply boiling everything together.
- Mashing a small portion of the beans naturally thickens the broth while keeping the soup light.
- Taste before adding extra salt since every ham has a different salt content.
- This soup tastes even better the next day as the flavors continue to develop overnight.
- If you’re making this soup for meal prep, avoid over-mashing the beans. Leaving plenty of whole beans gives the leftovers a better texture after reheating.
How I Would Modify This Recipe
Add Some Heat
Add a few dashes of your favorite hot sauce, a pinch of crushed red pepper flakes, or diced jalapeños for a little kick.
Boost The Vegetables
Stir in a few handfuls of fresh spinach or chopped kale during the last 5 minutes of cooking. Mushrooms or diced zucchini also blend nicely into the soup.
Lower Sodium
Use no-salt-added beans and low-sodium chicken broth, then season at the end.
Higher Protein
Add an extra cup of diced ham or stir in 2 cups of shredded rotisserie chicken during the last 5 minutes of cooking for an even bigger protein boost.
Vegetarian Version
Skip the ham and use vegetable broth with smoked paprika for a delicious meatless variation.
My Tips & Tricks
- Dice the vegetables into similar-sized pieces so they cook evenly.
- Don’t overcook the beans once they’re tender or they’ll begin falling apart.
- If using leftover ham with a thick glaze, trim away most of the sugary exterior before dicing.
- Let the soup rest for 10 minutes before serving. The broth thickens slightly and the flavors become even richer.
- Fresh parsley added just before serving brightens the entire bowl.
What to Serve with Ham and Bean Soup
My Storage Tips
Refrigerator
Store leftovers in an airtight container for up to 4 days.
Freezer
Freeze for up to 3 months in freezer-safe containers. Leave about an inch of space for expansion.
Reheating
Warm gently on the stovetop over medium-low heat or microwave individual bowls until heated through. If the soup thickens during storage, simply stir in a splash of chicken broth or water until it reaches your preferred consistency.
Frequently Asked Questions
Yes. Soak the beans overnight and cook them until tender before adding them to the soup. Canned beans are recommended for this recipe because they make it much quicker while still producing a creamy, hearty texture.
Great Northern beans are ideal because they become creamy while still holding their shape. Cannellini or navy beans also work well.
Absolutely. Simmer the ham bone in the broth for extra flavor, then remove it before serving.
Yes, this soup can be gluten-free. Check the labels on the ham, chicken broth, and chicken bouillon to make sure each product is certified gluten-free.
Yes. Many people find it tastes even better the next day after the flavors have had time to develop.
Ham and Bean Soup
This high-protein, low-calorie Ham and Bean Soup is packed with tender ham, creamy Great Northern beans, carrots, celery, and savory herbs in a flavorful broth. With over 30 grams of protein and nearly 11 grams of fiber per serving, it's a hearty and filling one-pot dinner that's also perfect for meal prep.
Ingredients
- 2 teaspoons olive oil
- 1 medium onion, diced
- 2 carrots, diced
- 2 celery stalks, diced
- 3 garlic cloves, minced
- 4 cups diced cooked ham
- 2 (15-ounce) cans Great Northern beans, drained and rinsed
- 4 cups low-sodium chicken broth
- 1 cup water
- 1 teaspoon chicken bouillon powder
- 1 teaspoon dried thyme
- 1 teaspoon dried parsley
- Salt ¼ teaspoon, (plus more to taste)
- ½ teaspoon black pepper
- 1 bay leaf
Instructions
- Heat the olive oil in a large Dutch oven over medium heat. Add the onion, carrots, and celery, and cook for 8 to 10 minutes until they begin to soften.
- Add the garlic and cook for about 30 seconds, stirring constantly.
- Add the diced ham and cook for 3 to 4 minutes, until the edges begin to lightly brown.
- Pour in the chicken broth and water. Stir in the chicken bouillon powder, thyme, parsley, bay leaf, salt, and black pepper. Bring to a gentle boil.
- Stir in the drained and rinsed Great Northern beans. Reduce the heat to low, cover, and simmer for 20 to 25 minutes.
- Remove the bay leaf. Use the back of a wooden spoon to mash about one cup of beans against the side of the pot, then stir them into the soup.
- Taste and adjust the seasoning if needed.
- Let the soup rest for 10 minutes before serving, then garnish with fresh parsley.
Notes
- Brown the ham: Let the diced ham cook for a few minutes with the vegetables before adding the broth. Those lightly browned edges add extra savory flavor.
- Keep it at a gentle simmer: Avoid rapidly boiling the soup. A gentle simmer keeps the beans creamy and the vegetables tender without causing the beans to break apart.
- Thicken without cream: Mash about 1 cup of beans against the side of the pot and stir them back into the soup for a naturally thicker, creamier broth.
- Don't over-mash: Leave plenty of beans whole, especially if you're meal prepping. This gives the soup a better texture when reheated.
- Let it rest: Give the finished soup about 10 minutes to rest before serving. The broth will thicken slightly and the flavors will have more time to come together.
- Using leftover ham: Holiday ham or ham steak works well. If the ham has a thick, sweet glaze, trim away most of the glazed exterior before dicing.
- For gluten-free soup: Check that your ham, chicken broth, and chicken bouillon are certified gluten-free.
Nutrition Information:
Yield: 8 Serving Size: 1Amount Per Serving: Calories: 279Total Fat: 8gSaturated Fat: 1gUnsaturated Fat: 7gCholesterol: 82mgSodium: 1873mgCarbohydrates: 17gFiber: 5gSugar: 3gProtein: 34g