Go Back
ham and bacon potato soup

Best Ham and Bacon Potato Soup

Delicious Best Ham and Bacon Potato Soup recipe with step-by-step instructions.
Prep Time 30 minutes
Cook Time 55 minutes
Total Time 1 hour 25 minutes
Servings 8 servings
Calories 4200 kcal

Ingredients
  

For the soup base::

  • 9 potatoes (peeled and cut into 1/2-inch cubes)
  • 3 celery stalks
  • 1 head garlic (cloves peeled and finely minced)
  • 1 tsp thyme
  • 1 tbsp chicken bouillon (I use Better Than Bouillon for richer taste)
  • 1.25 lb bacon
  • 2 onions
  • 10 oz ham (diced into 1/4-inch pieces)

For the cream sauce::

  • 4 tbsp butter (I prefer Kerrygold for extra richness)
  • 6 tbsp flour
  • 3 cups milk
  • 16 oz cream
  • 2 tsp salt
  • 2 tsp pepper
  • 1/4 tsp ground nutmeg
  • 8 oz velveeta (cubed to help it melt faster)
  • fresh parsley

Instructions
 

  • Peel and cut potatoes into 1/2-inch cubes, then set aside in a bowl of cold water to prevent browning. Dice the 2 onions into medium pieces and chop the 3 celery stalks into 1/4-inch pieces. Peel and finely mince all garlic cloves from 1 head. Dice the ham into 1/4-inch pieces and cut the 1.25 lb bacon into bite-sized pieces. Have all ingredients measured and ready before you begin cooking.
  • In a large skillet over medium-high heat, cook the bacon pieces until crispy, about 8-10 minutes, stirring occasionally. Remove bacon to a paper towel-lined bowl to drain. Pour off all but about 2 tablespoons of bacon grease, then add the diced onions to the same skillet and sauté until softened and golden, about 5 minutes. Add the minced garlic and cook for another 30 seconds until fragrant. Add the diced ham and warm through for about 2 minutes, then transfer the entire mixture to a bowl and set aside.
  • In a large pot, add the drained potatoes, celery, 1 tbsp chicken bouillon, 1 tsp thyme, and 8 cups of water. Bring to a boil over high heat, then reduce to medium and simmer uncovered for 12-15 minutes until the potatoes are fork-tender and celery is soft. I like to taste a potato piece to ensure it's fully cooked but not falling apart—this ensures a perfect texture for the finished soup.
  • While the potatoes simmer, melt 4 tbsp butter in a medium saucepan over medium heat. Once melted and foaming, sprinkle in 6 tbsp flour and whisk constantly for 2-3 minutes to create a light golden roux—this cooks out the raw flour taste. Slowly add 3 cups milk while whisking continuously to prevent lumps, then pour in 16 oz cream and continue whisking until the mixture thickens, about 3-4 minutes. Season with 2 tsp salt, 2 tsp pepper, and 1/4 tsp ground nutmeg. I find that seasoning the cream sauce separately ensures the spices distribute evenly rather than settling in the pot.
  • Once the potatoes are tender, use a potato masher to gently smash about half of the potatoes directly in the pot—this creates a thicker, creamier texture while keeping some chunks for body. Pour the cream sauce from Step 4 into the potato mixture and stir to combine. Add the cooked bacon and meat mixture from Step 2 along with the 8 oz cubed Velveeta cheese. Stir constantly over medium heat for 3-4 minutes until the cheese is completely melted and the soup is heated through. Taste and adjust seasoning as needed, then finish with fresh chopped parsley.
  • Ladle the hot soup into bowls and serve immediately. Garnish with additional fresh parsley, shredded cheese, or chopped green onions if desired.