Cheesy potato soup hits that sweet spot between cozy and substantial, with tender potato chunks suspended in a thick, velvety broth that clings to the spoon. The cheddar doesn’t just add flavor here; it gives the soup its body and that savory, slightly sharp finish that keeps you going back for another bowl.
What makes this version work is the layering. The potatoes simmer until they’re soft enough to break down a little, then half of them get mashed right in the pot to thicken the base without turning everything into glue. Cream cheese smooths out the texture, while the cheddar goes in off the heat and over low heat so it melts cleanly instead of turning grainy.
Below, I’ve included the small moves that matter most, from keeping the soup silky to knowing exactly when to add the cheese. There are also a few smart variations if you want to adjust the richness or make it work with what’s already in your kitchen.
The potatoes got perfectly tender, and when I mashed half of them in the pot the soup turned thick and creamy without needing extra flour. The cheddar melted smooth at the end and the chives on top made it taste just like the soup I used to order at the deli.
Save this cheesy potato soup for the nights when you want a thick, cheddar-packed bowl with mashed potatoes and crispy chive topping.
The Potato Mash That Keeps This Soup Thick Without Turning It Gluey
Most potato soups get too thin unless they rely on a lot of flour, or they get pasty when every potato is broken down. The trick here is to cook the potatoes until they’re fully tender, then mash only half of them in the pot. That gives you a naturally thick base with enough texture left to keep each spoonful interesting.
The other thing that matters is heat control once the dairy goes in. If the soup boils after the cream and cheese are added, the texture can turn grainy or split. Keep it at a gentle simmer for the potatoes, then drop the heat low before the cheddar goes in so it melts into the broth instead of seizing up.
What Each Ingredient Is Actually Doing In This Bowl

- Russet potatoes — These break down better than waxy potatoes, which is exactly what you want for a thick, spoon-coating soup. If you swap them, use Yukon Golds for a slightly more buttery texture, but expect a less fluffy mash.
- Sharp cheddar — Sharp cheddar carries the flavor here, and pre-shredded cheese won’t melt as smoothly because of the anti-caking coating. Buy a block and shred it yourself if you want the cleanest texture.
- Cream cheese — This is the quiet stabilizer in the pot. It melts into the soup and smooths out the cheddar so the broth feels rich instead of greasy.
- Mustard powder — It doesn’t make the soup taste like mustard. It sharpens the cheese flavor and keeps the bowl from tasting flat.
- Flour, butter, and dairy — The roux gives the soup its base thickness, but the potatoes finish the job. Whole milk and heavy cream both matter here; using only skim milk will leave the soup thinner and less satisfying.
Building the Base Without Curdling the Cheese
Sweating the Onion and Garlic
Melt the butter over medium heat and cook the onion until it turns translucent and soft around the edges, about 4 minutes. Add the garlic for just a minute so it perfumes the butter without browning. If the garlic darkens, it turns bitter and that shows up fast in a mild soup like this.
Whisking the Roux
Sprinkle in the flour and stir it through the butter until it looks pasty and a little sandy, then cook it for 1 to 2 minutes. That short cook removes the raw flour taste and helps the soup thicken evenly once the broth and dairy go in. Pour the liquid in gradually while whisking so the base stays smooth instead of going lumpy.
Softening the Potatoes
Add the cubed potatoes and simmer until they’re fork-tender, about 18 to 20 minutes. You want them soft enough that the edge of a spoon presses through easily, but not falling apart before you mash them. If the pieces are cut unevenly, the smaller ones will disappear before the larger ones are ready, so keep the cubes fairly even.
Finishing the Soup Gently
Turn the heat to low before adding the cream cheese and cheddar. Stir until the cream cheese disappears, then add the cheddar in handfuls so it melts in smoothly. If the soup looks oily or grainy, the heat was too high; pull it off the burner for a minute and stir until it comes back together.
How to Adapt This Soup When You Want It Lighter, Meatier, or Dairy-Free
Make It Bacon-Friendly
Cook 4 to 6 slices of bacon first, then use a spoonful of the drippings instead of some of the butter. Crumble the bacon over the finished bowls. It adds a smoky edge that plays well with cheddar, but it also makes the soup saltier, so season at the end.
Dairy-Free Version
Use olive oil or plant butter in place of the butter, unsweetened oat milk or cashew milk instead of the whole milk, and a good dairy-free shred that melts well. The soup will still be creamy, but it won’t have the same sharp finish from real cheddar, so a little extra mustard powder helps build back some of that edge.
Gluten-Free Adjustment
Swap the all-purpose flour for a gluten-free flour blend or thicken the soup with an extra potato mash instead. A 1:1 gluten-free flour blend works best if it’s meant for baking and sauces. If you skip the flour entirely, the finished soup will be a little looser but still satisfying.
Storage and Reheating
- Refrigerator: Store in an airtight container for up to 4 days. It thickens as it chills, so expect a denser texture the next day.
- Freezer: It can be frozen, but the dairy may separate a little after thawing. Freeze in portions for up to 2 months and whisk well while reheating.
- Reheating: Warm it slowly over low heat, adding a splash of broth or milk to loosen it. High heat is the mistake that breaks the cheese and makes the soup grainy.
Answers to the Questions Worth Asking

Cheesy Potato Soup
Ingredients
Equipment
Method
- Melt the butter in a large pot over medium heat. Sauté the diced onion for 4 minutes, stirring until softened.
- Add the minced garlic and cook for 1 minute. Keep it moving until fragrant.
- Whisk in the all-purpose flour and cook for 1-2 minutes. The mixture should look slightly golden and smell toasted.
- Pour in the chicken broth, whole milk, and heavy cream, whisking until smooth. Scrape up any browned bits from the bottom of the pot.
- Add the cubed russet potatoes. Simmer for 18-20 minutes until the potatoes are very tender.
- Mash half the potatoes in the pot. Stir until the soup looks creamy with chunks remaining.
- Stir in the softened cream cheese until smooth. Reduce heat to low to prevent the dairy from splitting.
- Stir in 2-1/2 cups of the shredded sharp cheddar and the mustard powder until melted. Keep the heat on low for a silky texture.
- Season with salt, pepper, and garlic powder to taste. Top with the remaining cheddar, chives, and croutons before serving.


