Thick, creamy potato soup earns its place at the table when it tastes like comfort without turning gluey or bland. The potatoes stay tender, the broth turns silky, and the bacon, cheddar, and chives give each spoonful enough salt and sharpness to keep it interesting. What you end up with is the kind of bowl that feels hearty enough for dinner but still smooth enough to keep going back for another taste.
The trick here is building the base in layers. Bacon drippings start the onion, flour gets cooked long enough to lose its raw taste, and the potatoes simmer until they collapse just enough to help thicken the soup without needing a blender. A little mashing at the end gives you control over the texture, which is the difference between a soup that feels rustic and one that feels heavy.
Below, I’ll walk through the small choices that keep the soup creamy, the best way to mash it for the texture you want, and a few swaps if you need to make it without bacon or with a different dairy setup.
The potatoes softened right on time and mashing just half of them gave it the perfect creamy texture without turning it into baby food. My husband went back for seconds before I even sat down.
Save this creamy potato soup with bacon, cheddar, and chives for the nights when you want a thick, hearty bowl that eats like dinner.
The Potatoes Need to Break Down Enough to Thicken the Broth
Russet potatoes are the right choice here because they soften into the broth and give the soup body without needing a lot of extra flour or starch tricks. Waxy potatoes stay too firm and can leave you with a broth that tastes thin even after a long simmer. Russets break down just enough to make the soup creamy, but still hold some shape if you stop mashing early.
The flour mixture does help, but it shouldn’t be carrying the whole soup. If the roux cooks only a minute or two before the broth goes in, it loses the raw flour taste and gives the base a little insurance against looking watery. The real texture comes from simmering the diced potatoes until a fork slides through them with no resistance, then mashing a portion of them right in the pot.
- Russet potatoes — These are the backbone of the soup. They’re starchy, so they soften and thicken the broth in a way gold or red potatoes won’t.
- Bacon drippings — They add salt and depth before the soup ever gets creamy. If your bacon is very lean, you’ll still have enough flavor, but the drippings are worth keeping.
- Whole milk and heavy cream — Whole milk gives the soup body without making it overly rich, and cream smooths it out at the end. Lower-fat milk can work, but the soup will taste thinner.
- Cheddar — Shred it yourself if you can. Pre-shredded cheese can stay a little grainy because of the anti-caking coating.
What Each Ingredient Is Actually Doing in This Recipe

- Primary ingredient (the star) — Quality matters most. Choose the best you can find.
- Cooking medium (oil, butter, or broth) — This carries flavors and prevents dryness.
- Seasonings (salt, pepper, spices, herbs) — Layer flavors so nothing overpowers. Build depth gradually.
- Aromatics (garlic, onion, herbs) — Cook with fat to bloom flavors. Become the foundation.
- Supporting ingredients — Complement the main ingredient without overpowering it.
- Sauce or liquid (if applicable) — Brings flavors together. Balance richness with acid.
- Acid (lemon, vinegar, wine, or other) — Brightens and prevents flat-tasting results.
- Final finish (garnish, glaze, or sauce) — Prevents one-dimensional taste and adds visual appeal.
Building the Soup So It Stays Creamy Instead of Grainy
Crisping the Bacon First
Cook the bacon until it’s fully crisp before you pull it out of the pot. If it stays soft, it won’t give you the same salty crunch on top, and the drippings can taste greasy instead of savory. Leave just enough fat in the pot to coat the onion; if there’s a huge pool, spoon some off so the soup doesn’t feel heavy before you even start.
Cooking the Onion and Garlic
The onion should turn translucent and smell sweet before the garlic goes in. Garlic burns fast in bacon fat, especially over medium heat, so give it only about a minute. If it starts to brown hard, the whole base will pick up a bitter edge that cheddar won’t cover.
Making the Roux and Adding the Broth
Stir the butter and flour together long enough for the mixture to look slightly sandy and smell nutty, not raw. Then whisk in the broth gradually so the flour disperses instead of clumping. If you dump the liquid in all at once and don’t stir, you’ll spend the rest of the cook breaking up little flour pockets.
Simmering the Potatoes Until They Yield
Let the soup come to a real simmer before lowering the heat. You want small bubbles around the edges, not a hard boil that can break the potatoes apart too soon. The potatoes are ready when they’re tender all the way through and the broth has picked up a little body from the starch.
Finishing with Dairy and Cheese
Stir in the milk and cream after the potatoes are tender and the heat is low. High heat is how dairy splits, especially once cheese goes in. Add the cheddar slowly and stir until just melted, then mash a few potatoes against the side of the pot to hit the texture you want. If it gets too thick, loosen it with a splash of broth or milk instead of water.
How to Adapt This Potato Soup Without Losing the Comfort
Skip the Bacon, Keep the Depth
Use butter instead of bacon drippings and add a pinch of smoked paprika with the onion. You’ll lose the salty crunch on top, but the soup still tastes full and savory. A little extra cheddar on serving helps replace some of that bacon-side richness.
Gluten-Free Version
Swap the all-purpose flour for a 1:1 gluten-free flour blend or skip the roux and rely on the potatoes for thickening. The blend gives the closest texture to the original, while the no-flour version tastes a little lighter and more potato-forward.
Make It a Little Lighter
Use half-and-half in place of the milk and cream, or swap one cup of the dairy for extra broth. The soup will still be creamy, but it won’t coat the spoon quite as heavily. Don’t go too lean, or the cheddar and potatoes won’t have enough richness to balance the salt.
Storage and Reheating
- Refrigerator: Store for up to 4 days. It thickens as it sits, so expect a denser texture after chilling.
- Freezer: It freezes, but the dairy can separate a little on thawing. If you plan to freeze it, stop before adding the milk, cream, and cheese, then finish those after reheating.
- Reheating: Warm it slowly over low heat, stirring often. A hard boil can make the dairy grainy and the potatoes fall apart too much. Add a splash of broth or milk to bring it back to a spoonable texture.
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.
- 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 and cook for 1-2 minutes, stirring constantly, until the mixture looks smooth and slightly golden.
- Pour in the chicken broth, add the diced potatoes, bring to a boil, then reduce heat and simmer for 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 melted, then season with salt and black pepper.
- Ladle the soup into bowls and top with the cooked bacon, sour cream, and chives.


