Thick, creamy potato soup with tender potato pieces and smoky bacon has a way of disappearing fast once it hits the table. This version lands in that perfect middle ground where the broth is rich enough to feel comforting, but the soup still has enough texture to taste like actual potatoes, not just a smooth puree. The cheddar melts in at the end, the bacon drippings build the base, and a little mashing gives it that cozy, spoonable body without turning it gluey.
The trick is building flavor in layers instead of leaning on cream alone. Bacon drippings carry the onion, flour cooks out before the broth goes in, and only then do the potatoes simmer until they’re tender enough to break down slightly. That order matters. If you dump everything together, the soup can taste flat or the dairy can turn heavy before the potatoes are ready.
Below, I’ll walk through the part that gives you a creamy soup without losing those potato chunks, plus a few swaps that keep it flexible if you need to work with what’s in your kitchen.
The soup thickened up beautifully, and mashing just some of the potatoes gave it that creamy texture without making it heavy. My kids kept asking for another bowl, and the bacon on top made it taste like a loaded baked potato.
Love the creamy texture and bacon finish in this potato soup? Save it to Pinterest for the nights when you want something filling, cozy, and ready in under an hour.
The Difference Between Creamy Potato Soup and Gluey Potato Soup
The biggest mistake with potato soup is letting it cook like mashed potatoes from the start. Once potatoes start breaking down too much, the starch can turn the pot thick in a heavy, pasty way instead of giving you that soft, spoonable body people want. The answer is to simmer until the potatoes are tender, then mash only part of them so you get both creamy broth and visible potato pieces.
The other place people run into trouble is the roux. That butter-flour mixture needs a minute or two in the pot before the broth goes in, or the soup can taste raw and thin. It doesn’t need to get dark. It just needs to lose that dusty flour smell and look smooth and foamy before you add liquid.
What Each Ingredient Is Doing in This Pot

- Russet potatoes — These are the right potatoes for this soup because they break down enough to thicken the broth while still holding some shape if you don’t overcook them. Yukon Golds work too, but the soup will be a little silkier and less fluffy.
- Bacon and drippings — The bacon gives you the smoky, salty finish, but the drippings are what flavor the base. If you skip them and start with butter alone, the soup still works, but it loses that deeper savory note.
- Butter and flour — This is your thickener. Cook it long enough to look smooth and lightly bubbling so the soup doesn’t taste floury. If you need a gluten-free version, a good cornstarch slurry at the end can stand in, but the texture will be a little less velvety.
- Whole milk and heavy cream — Whole milk keeps the soup from becoming too rich, while cream gives it that round, full finish. Using all cream makes it heavier than it needs to be; using low-fat milk makes the soup taste thin.
- Cheddar — Shredding it yourself matters here. Pre-shredded cheese often has anti-caking agents that can make the soup grainy instead of smooth.
How to Build the Soup Without Losing the Texture
Render the Bacon First
Cook the diced bacon over medium heat until the pieces are crisp and the fat has fully rendered. You want golden bacon with no soft, pale spots left in the pan. Lift it out before it burns, but leave the drippings behind because that’s your flavor base. If the pot looks dry, add just a small knob of butter rather than starting over.
Cook the Onion in the Drippings
Add the onion to the warm bacon fat and let it soften until translucent and sweet at the edges. Stir in the garlic at the end so it smells fragrant, not bitter. Garlic burns fast in hot fat, so one minute is enough. If the onion starts browning hard, lower the heat and keep going more gently.
Make the Roux and Add the Broth
Stir in the butter and flour and cook it until the mixture looks smooth and slightly sandy, then slowly pour in the broth while whisking. That gradual addition keeps the flour from clumping. Once the broth is in, the pot should look loose and cloudy, not paste-like. If you dump the broth all at once, you can still fix it by whisking hard before the potatoes go in.
Simmer the Potatoes Until Tender
Add the diced potatoes and bring the pot to a boil, then lower it to a steady simmer. The potatoes are ready when a fork slides in easily but the cubes still mostly hold their shape. Don’t let the pot boil hard the whole time or the potatoes will break down too quickly and the soup can turn grainy at the edges. A gentle simmer keeps the texture balanced.
Finish With Dairy and Cheese
Stir in the milk and cream, then mash some of the potatoes against the side of the pot. That’s what turns the soup creamy without needing extra thickeners. Add the cheddar off the heat or on very low heat so it melts smoothly instead of turning stringy. If the soup gets too thick after resting, loosen it with a splash of milk or broth before serving.
Three Ways to Adjust This Soup Without Ruining It
Make it dairy-free
Use olive oil or extra bacon fat instead of butter, then swap in unsweetened oat milk or cashew milk for the dairy. Skip the cream and use a little more mashed potato for body. The result is still comforting, but it won’t have the same rich finish as the original.
Make it vegetarian
Leave out the bacon and start the pot with butter or olive oil, then use vegetable broth instead of chicken broth. A pinch of smoked paprika helps replace some of the smoky depth you lose. It won’t taste like loaded potato soup, but it still lands in the same cozy lane.
Use ham instead of bacon
Diced ham works well if that’s what you have on hand. Brown it lightly in the pot first, then proceed with the onion and butter. You’ll get a saltier, meatier soup with less smoky flavor, but it still tastes hearty and filling.
Storage and Reheating
- Refrigerator: Store in an airtight container for up to 4 days. It will thicken as it chills.
- Freezer: It freezes, but the dairy can separate a little on thawing. For best texture, freeze before adding the milk, cream, and cheese, then finish fresh after reheating.
- Reheating: Warm it slowly over low heat, stirring often. High heat can make the dairy split and can cause the potatoes to break apart too much. Add a splash of broth or milk if the soup has tightened up in the fridge.
Answers to the Questions Worth Asking

Potato Soup
Ingredients
Equipment
Method
- Cook the diced bacon in a large pot over medium heat until crispy, then remove and set aside while leaving the drippings in the pot.
- Sauté the diced onion in the bacon drippings for 4 minutes, then add the minced garlic and cook for 1 minute.
- Add the butter and all-purpose flour, then cook for 1-2 minutes stirring constantly.
- Pour in the chicken broth and add the diced potatoes, bring to a boil, then reduce heat and simmer 15-20 minutes until the 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 fully melted, then season with salt and black pepper.
- Ladle the soup into bowls and top with bacon, sour cream, and chives.