
This cheesy ham and potato soup has become my ultimate comfort food solution for those chilly evenings when you crave something hearty yet simple. The combination of tender potatoes, savory ham, and melted cheese creates a bowl of pure satisfaction that warms you from the inside out.
I started making this soup after Easter one year when we had mountains of leftover ham. What began as a simple way to use up leftovers quickly became a requested favorite anytime the temperature drops below 60 degrees.
Ingredients
- Yukon Gold or Russet potatoes they break down slightly differently giving you control over the final texture Yukon golds create a creamier base while russets maintain more structure
- Cooked ham adds a wonderful savory element and protein look for leftover holiday ham or good quality deli ham
- Sharp cheddar cheese provides the best flavor punch mild cheddar works but lacks the depth
- Carrots add natural sweetness and beautiful color select firm bright orange ones
- Green onions offer a milder onion flavor than traditional onions with both white and green parts adding different flavor notes
- Celery provides an aromatic base select crisp stalks with vibrant color
- Chicken broth forms the savory foundation of the soup homemade is wonderful but a good quality store bought works perfectly
- Milk creates the creamy texture without heaviness whole milk gives the best results
- Butter adding richness and helping to create the roux that thickens the soup unsalted allows better seasoning control
- All purpose flour works with butter to create the thickening roux measured carefully to avoid lumps
- Garlic and onion powders provide convenient flavor without the need to chop actual garlic and onions
- Salt and pepper essential seasoning elements that bring everything together
Step-by-Step Instructions
- Sauté the Vegetables
- Heat your large pot over medium heat and melt the butter completely. Add your diced celery carrots and half the green onions to the melted butter. Cook these aromatics for a full 5 minutes stirring occasionally but not constantly. You want them to soften without browning looking for that translucent appearance in the onions and a slight give when you press a carrot piece with your spoon.
- Add the Potatoes and Spices
- Add your diced potatoes to the pot making sure they're cut into even sized pieces for consistent cooking. Sprinkle in the garlic powder onion powder and a moderate amount of salt and pepper. Stir everything thoroughly making sure the seasonings coat all the vegetables. Allow this mixture to cook for 2 3 minutes which helps the potatoes begin to absorb the flavors before adding liquid.
- Thicken the Soup Base
- Sprinkle your flour evenly over the vegetable mixture avoiding dumping it in one spot which could create lumps. Stir continuously for a full minute ensuring the flour coats the vegetables and absorbs the butter completely. The mixture will look slightly pasty and you might notice a coating forming on the bottom of the pot. This roux is essential for thickening your soup properly.
- Pour in the Broth
- With your heat still at medium gradually add the chicken broth about a cup at a time while stirring constantly. This gradual addition prevents lumps from forming in your soup base. Once all broth is added increase heat to bring the mixture to a gentle boil then immediately reduce to a simmer. Cover partially with a lid and let simmer for 15 20 minutes checking occasionally until the potatoes can be easily pierced with a fork but haven't started falling apart.
- Add Ham and Milk
- Once potatoes are tender stir in your diced ham pieces and pour in the milk. Reduce heat to low to prevent the milk from scalding. Allow everything to heat through for 5 minutes stirring occasionally. The soup should start looking creamy but not yet have reached its final consistency.
- Mix in the Cheese
- Turn the heat to its lowest setting before adding cheese to prevent separation. Add the shredded cheddar in three batches stirring until each batch is fully melted before adding the next. This gradual addition ensures smooth incorporation without clumping. The soup will become noticeably thicker and take on a beautiful golden color as the cheese melts.
- Adjust and Serve
- Taste your soup and adjust seasoning as needed typically adding a bit more pepper and possibly salt depending on how salty your ham and cheese were. If the soup seems too thick stir in additional milk or broth a quarter cup at a time until reaching your desired consistency. Ladle into bowls while hot garnish with reserved green onions and additional cheese if desired.

I absolutely love how this soup transforms humble ingredients into something spectacular. My grandmother always said the secret is the order of operations adding the cheese last prevents the stringy texture that can happen when cheese overheats. Her wisdom has never failed me.
Make Ahead and Storage Tips
This soup actually improves with time as the flavors continue to develop. You can make it up to two days ahead and store in the refrigerator in an airtight container. When reheating do so gently over medium low heat adding a splash of milk to restore the creamy consistency. Stir frequently to prevent scorching on the bottom of the pot. For longer storage portion completely cooled soup into freezer safe containers leaving about an inch of headspace for expansion. Freeze for up to three months. Thaw overnight in the refrigerator before reheating.
Clever Substitutions
This recipe welcomes adaptations based on what you have available. No ham Try using cooked bacon crumbled turkey or even smoked sausage. Dairy free Substitute unsweetened almond milk and dairy free cheese though the texture will be slightly different. Need a vegetarian version Skip the meat and use vegetable broth instead of chicken broth then add extra vegetables like corn or peas for substance. Potatoes can be swapped with sweet potatoes for a different flavor profile or cauliflower for a lower carb option. The soup is incredibly forgiving.
Serving Suggestions
This hearty soup shines as a standalone meal but pairs beautifully with accompaniments. Serve with a crusty artisan bread for dipping or homemade croutons sprinkled on top. A simple side salad with vinaigrette dressing provides welcome freshness against the richness of the soup. For special occasions serve in hollowed out bread bowls for an impressive presentation that eliminates the need for extra dishes. During holiday seasons I often serve this as a starter before a lighter main course creating a satisfying meal that doesnt overwhelm.

Recipe FAQs
- → Can I use leftover holiday ham in this soup?
Absolutely! Leftover holiday ham works perfectly and adds wonderful flavor. Simply dice it into bite-sized pieces and add it during step 5. Using leftover ham also adds a deeper, more developed flavor profile to your soup.
- → What type of potatoes work best for this soup?
Yukon Gold potatoes are ideal because they hold their shape while still becoming tender, and they have a naturally buttery flavor. Russet potatoes also work well if you prefer a soup where some potatoes break down slightly to naturally thicken the broth.
- → Can I make this soup ahead of time?
Yes! This soup reheats beautifully. Store it in the refrigerator for up to 3 days. When reheating, do so gently over medium-low heat, stirring occasionally. You may need to add a splash of milk or broth as the soup can thicken when stored.
- → Is it possible to make this soup in a slow cooker?
Definitely. Sauté the vegetables as directed, then transfer everything except the milk and cheese to a slow cooker. Cook on low for 6-7 hours or high for 3-4 hours until potatoes are tender. In the last 30 minutes, stir in the milk and cheese until melted.
- → What can I serve with this soup?
This hearty soup pairs wonderfully with crusty bread or a simple green salad. For a complete meal, serve with grilled cheese sandwiches for dipping. Garnish with extra cheese, chopped parsley, or crumbled bacon for additional flavor and presentation.
- → Can I make this soup vegetarian?
Yes, for a vegetarian version, omit the ham and use vegetable broth instead of chicken broth. You can add extra vegetables like corn or peas, or include plant-based protein alternatives. The cheese still provides plenty of rich flavor and protein.