Thick, creamy potato soup with tender bites of potato, smoky bacon, and a little sharp cheddar has a way of disappearing fast once it hits the table. This version lands right in that sweet spot between rustic and rich: mashed enough to feel velvety, but not blended into baby food. You still get real potato texture in every spoonful.
The method matters here. Bacon drippings carry the onion and garlic, flour cooks out before the broth goes in, and only then do the potatoes simmer until they’re soft enough to mash partway. That keeps the soup hearty instead of gluey. A final stir of milk, cream, and cheddar gives it body without making the dairy split.
Below, I’ve added the little details that make this bowl work on the first try, plus a few smart swaps if you need to adjust what’s in your kitchen.
I loved that the potatoes held their shape a little after mashing some of them. The soup got thick and creamy without turning pasty, and the bacon on top made every bowl taste finished.
Creamy potato soup with bacon and cheddar is the one to pin for nights when you want a thick, cozy bowl that tastes like it simmered all afternoon.
The Reason This Soup Stays Creamy Instead of Gluey
Potato soup goes sideways when the starch is overworked. If you blend every last potato cube into the broth, the soup can turn heavy and almost stretchy instead of creamy. Mashing only part of the pot gives you body from the potatoes themselves, but leaves enough chunks to keep the texture alive.
The flour also needs a minute in the fat before the broth goes in. That short cook removes the raw taste and helps the soup thicken smoothly. If you rush that step or add cold broth too fast without stirring, you can end up with little floury pockets instead of a clean, even base.
- Russet potatoes — These break down enough to thicken the soup naturally. Yukon Golds work too, but the soup will be a little silkier and less fluffy.
- Bacon drippings — They add smoky depth that butter alone can’t match. If you skip the bacon, use butter and a pinch of smoked paprika for some of that missing savoriness.
- Heavy cream and milk — The combo keeps the soup rich without making it overly dense. Using only cream can make the finish feel too heavy; using only milk makes it thinner and less satisfying.
- Cheddar — Sharp cheddar melts into the soup and gives it the classic baked-potato flavor. Grate it yourself if you can; pre-shredded cheese often melts less smoothly because of the anti-caking coating.
What Each Ingredient Is Actually Doing in the Pot

- Potatoes — Peel them for the smoothest spoonfuls. Dice them evenly so they soften at the same pace; big uneven chunks are the fastest way to end up with some potatoes falling apart while others stay firm.
- Onion and garlic — They build the savory base before the broth goes in. Cook the onion until it softens and looks translucent; if it still tastes sharp, the soup will carry that raw edge all the way through.
- Butter and flour — This is the thickener. Stir constantly once the flour goes in, because any scorched flour at the bottom will show up as a bitter note in the finished soup.
- Whole milk and heavy cream — Whole milk keeps the soup from becoming too dense, while cream gives it that full, rounded finish. Don’t boil hard after adding them or the dairy can split around the edges.
- Cheddar — Add it at the end over low heat. If the soup is roaring hot when the cheese goes in, the cheese can turn grainy instead of melting into the broth.
Building the Soup Without Breaking the Dairy
Crisping the Bacon First
Cook the bacon until it’s crisp and browned, not just pale and limp. You want enough fat rendered to coat the onion and garlic, because that’s where the flavor starts. Pull the bacon out before it gets too dark or it can taste bitter once crumbled over the top. Leave the drippings in the pot; they’re part of the soup’s backbone.
Making the Base Thick Before the Potatoes Go In
Sauté the onion in the drippings until soft, then add the garlic for just a minute. Garlic burns fast, and burnt garlic will take over the whole pot. Stir in the butter and flour and keep moving it around until it looks pasty and smells a little nutty. That’s the point where the flour stops tasting raw and starts working as a smooth thickener.
Simmering the Potatoes Until They Mash Cleanly
Once the broth and potatoes are in, bring the pot to a boil, then drop it back to a gentle simmer. A hard boil can break the potatoes apart too aggressively and make the soup muddy. When the potatoes are tender enough to crush easily against the side of the pot, mash some of them with a potato masher. Leave plenty of pieces intact so the soup still eats like potato soup, not cream sauce.
Finishing With Cheese and Cream
Stir in the milk and cream after the potatoes are tender, not before. That lowers the risk of scorching and keeps the soup silky. Add the cheddar over low heat and stir until it melts completely. If the soup looks greasy or grainy at this point, the heat is too high; pull the pot off the burner for a minute and stir until it comes back together.
Dairy-Free Version
Use olive oil or plant-based butter in place of the butter, then swap the milk and cream for unsweetened oat milk and a splash of canned coconut milk. The soup won’t taste identical, but you’ll still get a creamy bowl with good body if you keep the heat gentle and rely on the potatoes for thickness.
Gluten-Free Adjustment
Swap the all-purpose flour for a gluten-free 1:1 flour blend that includes xanthan gum, or thicken the soup with a little extra mashed potato instead. The flavor stays the same, but the texture may be slightly softer if you rely only on potatoes for body.
No-Bacon Version
Skip the bacon and start the onion in butter with a small pinch of smoked paprika. You lose the salty crunch on top, so finish with extra chives and a little more cheddar to keep the bowl from tasting flat.
Make It Heartier
Stir in extra bacon and a handful of corn or diced ham near the end. That keeps the soup in the same creamy lane but gives it more substance, which is handy if you’re serving it as the main meal.
Storage and Reheating
- Refrigerator: Store in an airtight container for up to 4 days. It thickens as it chills, so it may look a little stiff the next day.
- Freezer: It freezes, but the dairy can separate a bit after thawing. For the best texture, freeze before adding the milk, cream, and cheddar, then finish those in the reheated soup.
- Reheating: Warm it slowly over low heat with a splash of broth or milk. High heat is the mistake here; it can make the dairy split and turn the texture grainy.
Questions I Get Asked About This Recipe

Potato Soup
Ingredients
Equipment
Method
- Cook the diced bacon in a large pot over medium heat until crispy, then remove and set aside, leaving the drippings in the pot.
- Add the diced onion to the bacon drippings and sauté for 4 minutes, then add the minced garlic and cook for 1 minute.
- Add the butter and all-purpose flour and cook for 1-2 minutes, stirring constantly.
- Pour in the chicken broth and add the diced russet potatoes, then bring to a boil and reduce heat to simmer for 15-20 minutes until potatoes are tender.
- Stir in the whole milk and heavy cream, then use a masher to mash some of the potatoes for a creamy texture.
- Stir in the shredded cheddar until melted, then season with salt and black pepper.
- Serve the soup topped with the cooked bacon, sour cream, and chives.


