
A spoon dragged through the bowl leaves a trail that closes slowly, and the smell is ham and rosemary before anything else. That body doesn’t come from cream. It comes from the potatoes letting go of their starch as they cook, which is why this creamy ham potato soup tightens further overnight and why you loosen it with broth the next day.
The trouble worth knowing about is the milk. Add it cold to a hard boil and you’ll watch it seize into specks, and nothing brings it back.
Leftover ham, a handful of peas, a pot on the stove: the recipe lives on the margin between creamy and broken.
Milk added cold to a simmering pot creates a sharp temperature gradient that can destabilize the milk’s protein emulsion, leading to curdling. Letting the milk come to room temperature first, and stirring it in after the heat is reduced, keeps the proteins from coagulating and preserves a smooth, creamy texture.
Add Milk and Peas at the End for a Creamy Soup
Milk that goes into simmering soup straight from the fridge is a gamble. The temperature gap is wide enough that the milk can curdle into tiny specks that never quite smooth out.
Letting it sit on the counter while the potatoes cook costs nothing and keeps the soup silky. Peas need the same kind of restraint. They turn dull and wrinkled if they spend any real time in the heat, so they go in once the soup is off the boil.
The carryover warmth finishes them in a couple of minutes. What you get is a bowl with bright green peas that still pop when you bite them, and a broth that looks like cream rather than looking broken.
A Flour Slurry Is Optional but Makes It Richer
Some soups thicken as they sit, and this is one of them. The starch from the potatoes slowly works into the broth, so by the time you’re on your second bowl, it’s noticeably heartier than when you first ladled it out. That natural thickening is often enough.
But if you want a soup that coats a spoon right away, a slurry is the lever. Whisk a little flour into a scoop of the hot broth, then stir that back into the pot.
The soup comes to a brief boil and visibly tightens within a couple of minutes. Skip it if you prefer a brothy bowl. Either way, taste for salt after, since flour mutes seasoning.
The final call is about the texture you want on the spoon.
How Your Cooking Method Changes the Bowl
Stovetop cooking keeps you in the driver’s seat. You can poke a potato at any point and pull the pot off the heat the moment they’re tender, which means the cubes hold their shape and the broth stays clear.
A crockpot trades that control for time. The long, slow heat coaxes more flavor from the ham and rosemary, but the vegetables give up their structure along the way, so you end up with a softer, more unified pot where the potatoes slump into the broth.
The Instant Pot is the fastest route, though it’s less forgiving. Pressure cooking can push potatoes past tender into a grainy texture if you’re not careful, and the high heat can dull the rosemary.
Each method has a trade-off between speed and texture; pick based on the bowl you’re after.
Creaminess Comes from Potatoes and Milk
There’s no roux in this soup, and it doesn’t need one. As the potato cubes simmer, they shed starch into the broth, which gives the liquid a light body on its own.
That starch is why the soup thickens further as it cools, sometimes to the point where you’ll want to loosen it with a splash of broth when reheating. Milk does the rest of the work, adding a clean dairy richness without the heaviness of cream. The result is a bowl that feels creamy but still lets the ham and rosemary come through.
If you want it thicker than that, the optional flour slurry is there, but the base already has a gentle creaminess that many soups lack without added fat.

What to Buy and Prep for This Soup
Potatoes: Russets break down and thicken the broth, while waxy potatoes hold their shape, so pick based on the texture you want in the bowl.
Ham: Use chopped cooked ham cut into 1/2-inch cubes, and if it’s salty, taste the broth before adding the optional 1/4 tsp salt.
Rosemary: Fresh rosemary is potent, so measure 1 tsp finely chopped and avoid dried, which can taste like pine needles.
Milk: Room temperature milk stirs in smoothly, while cold milk can curdle, so let it sit out while the soup cooks.
Peas: Frozen peas keep their bright color and snap, unlike canned ones that turn dull, so use frozen and add them off the heat.
Judging the Pot: What to Look For at Each Stage
When the onions are truly translucent
Translucent means you can see through them, not just that they’ve softened. They’ll look glassy and slightly yellowed, and the sharp raw bite will be gone.
If they’re still opaque and crunchy, give them another minute or two. Undercooked onions leave a harsh edge that the milk won’t cover.
Overcooked ones go brown and sweet, which muddies the rosemary. Aim for that glassy look, and if you’re not sure, taste a piece.
The potato’s resistance when you pierce it
Fork-tender means the tines slide in with just a little push and the potato doesn’t crumble. If it falls apart on the fork, it’s overcooked and will thicken the soup too much, turning it pasty. If there’s any firm center, keep cooking and check every minute.
The window is narrow, especially with pressure cooking, so start checking a minute before the low end of the range. Undercooked potatoes are worse than slightly soft ones because they never soften further once the milk goes in.
The broth’s body before you add milk
After the potatoes are tender, the broth should look slightly cloudy and feel a bit thicker than water on a spoon. That’s the starch starting to work.
If it still looks thin and clear, the soup will be brothy even after the milk. You can mash a few potato cubes against the side of the pot to release more starch, or plan on the optional flour slurry.
Either way, judge the base now, because milk won’t add thickness, only richness.
The color and texture of the peas after stirring in
Peas go in off the heat and are ready when they’re bright green and still pop when bitten. They’ll lose that snap and turn army-green if they sit in hot soup. The carryover heat finishes them in about two minutes.
If you’re adding the flour slurry and bringing the soup back to a boil, add the peas after that boil, not before. Overcooked peas bleed their color and turn mealy, which dulls the whole bowl.

Creamy Ham Potato Soup with Vegetables
Ingredients
Method
- In a large pot, heat olive oil over medium heat. While oil heats, chop the vegetables.
- Sauté garlic, onions, carrots, and celery until onions are translucent, about 5 minutes.
- While vegetables sauté, chop the ham and potatoes.
- Add potatoes, broth, ham, rosemary, salt, and pepper to the pot.
- Cover and turn heat to high; bring to a boil. Once boiling, reduce heat to medium and cook 10–12 minutes, until potatoes are fork-tender, stirring occasionally to prevent sticking.
- Once cooked, reduce heat and stir in milk and peas.
- For thickening: The soup will thicken as it cools, but for a richer, thicker soup, add ¼ cup all-purpose flour to a bowl. Scoop 1–2 cups of broth (a few vegetable or ham pieces are fine) into the bowl and whisk together. Add the flour mixture back into the soup and stir. Bring to a boil for 2–3 minutes; the soup will naturally thicken.
- In a sauté pan, heat olive oil. While oil heats, chop the vegetables.
- Sauté garlic, onions, carrots, and celery until onions are translucent, about 10 minutes.
- While vegetables sauté, chop the ham and potatoes and gather the remaining ingredients.
- Add all cooked vegetables and all remaining ingredients except milk and peas to the crockpot.
- Cook on low for 5–6 hours or high for 3–4 hours.
- Once cooked, reduce heat and stir in milk and peas.
- For thickening: The soup will thicken as it cools, but for a richer, thicker soup, add ¼ cup all-purpose flour to a bowl. Scoop 1–2 cups of broth (a few vegetable or ham pieces are fine) into the bowl and whisk together. Add the flour mixture back into the soup and stir. Bring to a boil on the stove for 2–3 minutes; the soup will naturally thicken.
- Set the Instant Pot to sauté for 10 minutes. Heat olive oil. While oil heats, chop the vegetables.
- Sauté garlic, onions, carrots, and celery until onions are translucent, about 10 minutes.
- While vegetables sauté, chop the ham and potatoes and gather the remaining ingredients.
- Add all cooked vegetables and all remaining ingredients except milk and peas to the Instant Pot.
- Set the Instant Pot to sealing and pressure cook for 8 minutes.
- Once cooked, manually quick release the pressure.
- Stir in milk and peas.
- For thickening: The soup will thicken as it cools, but for a richer, thicker soup, add ¼ cup all-purpose flour to a bowl. Scoop 1–2 cups of broth (a few vegetable or ham pieces are fine) into the bowl and whisk together. Add the flour mixture back into the soup and stir. Bring to a boil by setting it to Sauté for 2–3 minutes; the soup will naturally thicken.
Swap Ham, Milk, and Flour Without Losing the Bowl
Ham: Leftover turkey or smoked sausage. Turkey is leaner and milder, so the soup will taste less savory and more like a vegetable pot.
Smoked sausage brings its own fat and a heavier smoke note that can overshadow the rosemary. Start with the same 2 cups and taste before adding the optional salt, since sausage is often saltier than ham.
Milk: Unsweetened dairy-free milk such as oat, soy, or canned coconut. Oat and soy keep the color and body closest to dairy, while coconut adds a faint sweetness that can clash with rosemary.
All of them thin the soup slightly less than you’d expect because the potatoes still thicken the broth. Add the same 1½ cups, but stir it in off the heat as directed so it doesn’t separate.
All-purpose flour: Tapioca flour. Tapioca thickens faster and can turn the broth slightly glossy and slippery if boiled too long. Whisk the same ¼ cup into a bowl of hot broth, then stir it back and simmer just until it tightens, about 1 to 2 minutes instead of 2 to 3.
If you skip the slurry, the soup will still be creamy from the potatoes but thinner on the spoon.
Vegetable broth: Chicken broth. Chicken broth pushes the soup toward a more traditional ham-and-potato flavor, but it can be saltier. Use the same 4 cups and hold back the optional ¼ tsp salt until you’ve tasted the finished pot.
Tips
- Dice the ham into 1/2-inch cubes and leave firmer or fattier pieces slightly larger than the lean ones. The lean meat tightens as it simmers, so a smaller cut cooks through in the same time a bigger fatty piece needs to render, and both land at a similar texture in the bowl.
- Buy ham in a single thick slab or steak rather than deli slices. Sliced ham is too thin to cut into true 1/2-inch cubes, so it shreds into strings that disappear into the broth and leave some spoonfuls without any ham at all.
Storage and Serving: How to Keep and Reheat Leftovers
This soup thickens substantially in the fridge overnight. The potatoes release starch as they cool, so what was a creamy broth at dinner can set into something closer to a stew by morning.
That’s expected, not a fault. To reheat, scoop what you need into a pot and add a splash of broth or milk, a couple tablespoons per cup, then warm over medium-low, stirring. The soup loosens back to the right consistency without tasting watered down.
It keeps in a sealed container in the fridge for up to 4 days. The peas will lose their snap after the first day, but the ham and rosemary hold their flavor. For freezing, the soup freezes well for up to 3 months, though the potatoes may soften further and the milk can separate slightly; thaw overnight in the fridge and reheat gently.
Eat within the first two days for the best texture, especially if you want the peas still bright. The finishing touch, a pinch of fresh rosemary or a crack of black pepper, goes on just before serving, not into the pot. Serves 4.

Frequently Asked Questions
Can I make this creamy ham potato soup ahead of time?
Yes, and it often tastes better the next day. The potatoes keep releasing starch as it sits, so the soup tightens up in the fridge; when you reheat, add a splash of broth or milk, a couple tablespoons per cup, and warm it gently. It keeps in a sealed container for up to 4 days, though the peas will lose their snap after the first day.
If you want the peas still bright, stir them in when you reheat instead of before storing. Freezing works for up to 3 months, but the potatoes may soften further and the milk can separate slightly.
Why did my soup curdle when I added the milk?
The milk was probably cold when it hit the hot broth. A wide temperature gap makes the milk seize into tiny specks that never smooth out, so let it sit on the counter while the potatoes cook and stir it in off the heat. If the soup was boiling hard when the milk went in, that’s the same problem from the other direction.
Another possibility: an acidic ingredient like a squeeze of lemon or a splash of vinegar can tip room-temperature milk too. Once it curdles, you can’t undo it, but the soup still tastes fine; just don’t expect a silky look.
How is this creamy ham potato soup different from classic ham and potato soup?
Classic versions often start with a roux and finish with cream, which gives a heavier, more uniform body. Here the creaminess comes from the potatoes breaking down into the broth plus milk stirred in at the end, so the base stays lighter and the ham and rosemary come through more clearly. You also get peas, which add a pop of sweetness and color that most classic recipes skip.
The texture is creamier than a brothy ham and potato soup but not as thick as a cream-based one. If you want it closer to the classic richness, the optional flour slurry tightens it up without changing the flavor.