Thick, creamy potato soup with tender bites of potato, smoky bacon, and melted cheddar is the kind of bowl that disappears fast. The best versions taste rich without turning gluey, and this one gets there by building the base slowly: bacon first, then onions and garlic in the drippings, then a light flour roux before the broth goes in. That order gives you a soup that feels substantial and silky at the same time.
Russet potatoes earn their place here because they break down just enough to help thicken the soup without needing a long simmer. Mashing only part of the pot is the move that keeps some texture in the bowl, so you get creamy spoonfuls with soft potato chunks instead of a pot of mashed potatoes thinly stretched with broth. The cheddar goes in at the end over low heat, which keeps it smooth instead of grainy.
Below you’ll find the small details that matter, including how to avoid a floury taste, how much to mash, and the best way to keep leftovers tasting like a fresh pot instead of yesterday’s lunch.
The soup thickened up perfectly and the potatoes were still a little chunky, which is exactly what I wanted. I also liked that the cheddar melted in smoothly without getting stringy.
Creamy potato soup with bacon, cheddar, and chives deserves a spot in your dinner rotation.
The Reason Potato Soup Turns Gritty, Thin, or Flat
The problem with a lot of potato soup is that it gets pushed too hard at the wrong stage. If the potatoes boil violently, they start to break down before the broth has any body, and if the dairy goes in too early, it can take on a scorched edge or separate later. The better approach is to build a light roux first, simmer the potatoes gently, then finish with milk, cream, and cheese after the starch has already done some of the thickening for you.
That gives you control over the texture. The soup should coat a spoon, not sit like wallpaper paste. If it looks thin before the cheese goes in, give it a few minutes over low heat rather than reaching for more flour right away — the potatoes and cheddar will thicken it more as it stands.
What Each Ingredient Is Actually Doing in This Pot

- Russet potatoes — These soften quickly and release enough starch to help thicken the soup. Yukon golds work too, but they stay a little firmer and give you a less fluffy texture.
- Bacon — The drippings season the onion and garlic before anything else hits the pot. If you skip the bacon, add an extra tablespoon of butter and a pinch of smoked paprika so the soup doesn’t taste flat.
- Butter and flour — This is the base that keeps the broth from tasting watery. Cook the flour long enough to lose its raw edge, but don’t let it brown unless you want a nuttier, slightly darker soup.
- Milk, cream, and cheddar — Whole milk gives body without heaviness, cream smooths the finish, and cheddar adds salt and sharpness. If you use pre-shredded cheese, expect it to melt a little less smoothly because of the anti-caking coating.
Building the Bowl Without Breaking the Texture
Crisping the Bacon First
Cook the bacon until it’s deeply crisp and the fat has rendered out, because pale, chewy bacon won’t season the pot the same way. Pull it out before it burns, but keep the drippings in the pan. Those browned bits and fat are what carry the onion base.
Cooking Out the Flour
Stir the butter and flour together for a full minute or two until it smells a little nutty and looks pasty rather than dusty. That short cook is what keeps the soup from tasting raw. If you add the broth too fast, the roux can clump, so pour gradually while whisking and scrape the bottom well.
Letting the Potatoes Do the Thickening
Simmer the potatoes until a knife slides through with no resistance, but don’t let them fall apart completely. When they are tender, mash just part of the pot with a potato masher. That gives the soup a creamy body while leaving enough chunks for texture.
Finishing With Dairy and Cheese
Lower the heat before adding the milk, cream, and cheddar. High heat is how dairy turns grainy or separates. Stir until the cheese melts, then taste for salt and pepper at the end, since bacon and cheddar already bring plenty of seasoning.
How to Adapt This for a Bigger Crowd, a Lighter Bowl, or No Bacon
Dairy-Free Potato Soup
Use olive oil or vegan butter in place of the butter, swap the milk and cream for unsweetened oat milk or cashew milk, and leave the cheddar out or use a dairy-free melting cheese. The soup will still be creamy from the potatoes, but it won’t have the same rich finish, so add a little extra salt and a splash of apple cider vinegar to brighten it.
Gluten-Free Version
Replace the all-purpose flour with a 1:1 gluten-free flour blend and cook it in the butter the same way. Cornstarch works too, but the texture comes out a little glossier and less stew-like, so whisk it into a small amount of cold broth first instead of adding it straight to the pot.
No-Bacon Potato Soup
Skip the bacon and sauté the onion in butter with a pinch of smoked paprika or a little celery salt. You lose the smoky depth, so this version leans more classic and buttery, but it still tastes complete if you don’t rush the onion and garlic.
Storage and Reheating
- Refrigerator: Keeps well for 3 to 4 days. It thickens as it sits, so the leftover soup will look denser the next day.
- Freezer: It can be frozen, but the dairy may separate a bit when thawed. For the best result, freeze before adding the milk, cream, and cheddar, then finish those after reheating.
- Reheating: Warm it gently over low heat on the stove with a splash of broth or milk. Fast boiling is the mistake that makes the dairy grainy and the potatoes turn mushy.
Answers to the Questions Worth Asking

Classic Creamy Potato Soup
Ingredients
Equipment
Method
- Cook diced bacon in a large pot over medium heat until crispy, about 8-10 minutes, then remove and set aside while leaving the drippings.
- Sauté diced onion in the bacon drippings for 4 minutes over medium heat, then add minced garlic and cook 1 minute until fragrant.
- Add butter and all-purpose flour, cook 1-2 minutes while stirring constantly, and keep the mixture smooth and bubbling.
- Pour in chicken broth, add diced potatoes, bring to a boil, then reduce heat and simmer 15-20 minutes until the potatoes are tender.
- Stir in whole milk and heavy cream, then use a masher to mash some of the potatoes to create a creamy texture.
- Stir in shredded cheddar until fully melted, then season with salt and black pepper until balanced.
- Ladle soup into bowls and top with bacon, sour cream, and chives.


