The soup that fills my entire house with the most comforting, most welcoming aroma of all — butter, bacon, onions, and simmering potatoes — and produces the most enthusiastic response from every single person who sits down to a bowl of it is this best homemade potato soup: tender chunks of Yukon gold potato in a thick, velvety, cheddar-enriched broth built on a flour-thickened base of sautéed onion and garlic, finished with heavy cream and sour cream, and topped with crispy bacon and sliced green onions. It is the definition of comfort food and it is ready in 40 minutes from a handful of pantry staples.
What separates a great potato soup from a mediocre one is the base — starting with rendered bacon fat to cook the aromatics, building a light roux with the flour before adding the liquids, and finishing with both heavy cream and sour cream rather than just one or the other. The bacon fat infuses the entire pot with smoky depth; the roux ensures the soup is thick and velvety rather than thin and watery; the heavy cream adds richness; and the sour cream adds the bright, tangy note that cuts through all that richness and makes every bowl taste balanced rather than heavy. Every technique element in this recipe exists for a specific textural and flavor reason.
This post covers the classic creamy potato soup in full detail, plus seven variations including a fully loaded baked potato version, a vegetarian version, a spicy jalapeño version, a cheddar broccoli version, a sweet potato version, a shredded chicken version, and a crouton-topped version. Every version is made in one pot in under 45 minutes. Find more cozy soup inspiration in our crock pot crack potato soup, our broccoli potato cheese soup, and our fall soup recipes.
Let's make the best pot of potato soup your family has ever tasted!

WHY YOU WILL LOVE THIS RECIPE
- The Bacon-Fat Base Makes This the Best-Tasting Potato Soup: Cooking the onion and garlic in the rendered bacon fat left in the pot rather than discarding it and starting fresh with butter is the single most important technique decision in this recipe. The bacon fat coats every aromatic with smoky, savory flavor from the first minute of cooking, and that flavor permeates the entire pot throughout the simmer. The resulting soup tastes like something you would order at a restaurant specifically for the soup — deeply flavored and richly savory in a way that plain butter-sautéed aromatics cannot replicate. Never discard that tablespoon of bacon fat.
- The Flour Roux Produces Perfectly Thick, Velvety Soup: Sprinkling flour over the sautéed onions and garlic and cooking for 1–2 minutes before adding the liquids creates a roux that thickens the entire pot of soup into a rich, substantial consistency that holds its body through the entire cooking process and reheating. Potato soup made without a roux relies entirely on the starch from the mashed potatoes for thickening, which produces an inconsistent, unpredictable consistency. The roux produces a reliably thick, creamy soup every single time, regardless of how starchy or floury your potato variety is.
- Ready in Under 45 Minutes — One Pot, Minimal Cleanup: Every element of this soup — the bacon, the aromatics, the roux, the broth, the potatoes, the cream, the cheese — all goes into a single large pot and stays there through serving. The entire cooking process takes under 45 minutes of mostly unattended simmering, and the cleanup is a single pot and a cutting board. For a soup this impressive in flavor and presentation, the effort-to-result ratio is genuinely extraordinary. This is the weeknight dinner I make when I want everyone to feel genuinely cared for without spending the evening cooking. See our healthy one-pot dinner recipes for more one-pot ideas.
- The Loaded Toppings Are What Makes This Truly Special: Plain creamy potato soup is excellent. Potato soup topped with crumbled crispy bacon, a generous handful of shredded cheddar that melts into the hot surface of the soup, a spoonful of sour cream, and a scattering of sliced green onions is transcendent — it looks like a restaurant appetizer, it tastes like the most carefully constructed comfort food, and the contrast between the hot creamy soup and the cool sour cream, the rich cheese, and the salty crispy bacon in every spoonful is genuinely one of the best eating experiences in all of winter cooking.
- Make-Ahead and Leftover-Friendly: Potato soup can be made completely up to 2 days ahead and reheated gently on the stovetop with a small splash of broth to loosen the consistency (it thickens significantly on standing). The flavors actually improve overnight as they meld and deepen, and the second-day soup is often even better than the fresh-made version. The soup also freezes acceptably — freeze without the cream and cheese (add those after reheating), store for up to 2 months, and reheat with freshly added dairy for the closest-to-fresh result. See our easy meal prep ideas for more planning inspiration.
- Universally Loved — the Safest Dinner Party Soup Available: Potato soup with cheddar and bacon is one of the most universally appealing soups in existence — there is virtually no one who does not love the combination of creamy potato, melted cheese, and bacon. Children adore it; adults request it; picky eaters eat two bowls. I serve this at every casual dinner gathering where I need a first course that impresses effortlessly, and the response is always the same enthusiastic appreciation. Pair with our garlic bread rolls for the complete comfort food dinner.
INGREDIENTS
- 6 slices bacon, chopped
- 1 small onion, diced
- 3 cloves garlic, minced
- 3 tablespoons all-purpose flour
- 4 cups chicken broth
- 2 cups whole milk
- 1 cup heavy cream
- 4 cups peeled and diced russet or Yukon gold potatoes (about 4–5 medium potatoes)
- 1 teaspoon salt
- ½ teaspoon black pepper
- 1 cup shredded cheddar cheese (plus extra for topping)
- 2 tablespoons sour cream
- 2 green onions, sliced (for garnish)
DIRECTIONS
- Step No.1: Cook the bacon
In a large, heavy-bottomed pot or Dutch oven over medium heat, cook the chopped bacon pieces, stirring occasionally, until deeply crispy and the fat has fully rendered — approximately 8–10 minutes. Transfer the cooked bacon to a paper towel-lined plate with a slotted spoon, leaving approximately 1 tablespoon of the rendered bacon fat in the pot. Do not pour off all the fat — this tablespoon of bacon drippings is the flavor foundation of the entire soup. If your bacon was very fatty and left more than 2 tablespoons of fat, pour off the excess but keep at least 1 tablespoon.
- Step No.2: Sauté the aromatics
Add the diced onion to the pot with the bacon fat and cook over medium heat for 4–5 minutes, stirring occasionally, until the onion is soft, translucent, and very lightly golden at the edges. Add the minced garlic and cook for 1 minute more, stirring constantly — garlic burns quickly and should only be cooked until it becomes fragrant, not until it browns. The aromatics sautéed in bacon fat at this stage set the entire flavor direction of the soup; taking the full time to soften them properly produces a noticeably more flavorful base than a rushed 2-minute sauté.
- Step No.3: Build the roux
Sprinkle the flour evenly over the softened onions and garlic and stir immediately to coat them — the flour should absorb all the fat in the pot and form a thick paste that coats the vegetables. Cook this flour-vegetable mixture for 1–2 minutes, stirring continuously, until the raw flour smell disappears and it smells slightly nutty and toasted. This brief cooking of the roux is essential — uncooked flour added directly to liquid produces a soup that tastes starchy and raw. The roux will look thick and slightly dry; that is correct.
- Step No.4: Add the liquids and potatoes
Gradually pour in the chicken broth while whisking continuously — adding it slowly and whisking prevents lumps from forming as the roux absorbs the liquid. Once the broth is fully incorporated and smooth, whisk in the milk. Stir in the diced potatoes, salt, and black pepper. Bring the mixture to a boil over medium-high heat, then reduce to a steady simmer, cover partially, and cook for 15–20 minutes until the potatoes are completely tender and break apart easily when pressed with a spoon against the side of the pot. Check with a fork at 15 minutes — when the fork slides in with no resistance, the potatoes are done.
- Step No.5: Blend and finish
For the most satisfying texture — thick and creamy but with distinct potato chunks — use a potato masher to mash approximately one-third of the potatoes directly in the pot. Mash until those potatoes are completely smooth, which thickens the broth dramatically and creates the creamy base, while the remaining two-thirds of the potato chunks provide satisfying bites of tender potato throughout each spoonful. For a completely smooth soup, use an immersion blender to blend the entire pot — hold it partially submerged and blend in short bursts to prevent hot soup from splashing. Pour in the heavy cream and stir to combine, then stir in the shredded cheddar and sour cream over low heat until the cheese is completely melted and the soup is smooth and velvety. Taste and adjust salt and pepper — the soup should be well-seasoned and richly flavored at this point.
- Step No.6: Serve with toppings
Ladle the hot soup into warmed bowls — thick, creamy potato soup cools rapidly in cold bowls, so warm them briefly in a low oven or by filling them with hot water for a minute before emptying and filling with soup. Garnish each bowl with: a handful of the reserved crumbled crispy bacon, a generous pinch of extra shredded cheddar (which melts immediately into the surface of the hot soup), a dollop of sour cream, and a scattering of sliced green onions across the top. Serve immediately with crusty bread or our garlic bread rolls alongside for dipping.

TIPS FOR SUCCESS
- Dice Potatoes in Even Pieces for Consistent Cooking: Potato pieces of dramatically different sizes will cook at different rates — large chunks will still be firm when small ones have become mushy. Aim for ½-inch to ¾-inch cubes cut as consistently as possible. Even dicing also produces a more attractive finished soup with potato pieces that all have the same tender texture throughout. If some pieces are much larger, the smaller ones will overcook into the broth while waiting for the large ones to soften, which muddies the soup base.
- Use Yukon Gold Potatoes for the Best Texture: Yukon gold potatoes have a naturally buttery, slightly waxy texture that produces the most satisfying potato soup — they hold their shape in chunks while the portions that are mashed blend into an incredibly smooth, creamy base. Russet potatoes also work well and produce a slightly fluffier, more starchy mash. Avoid red potatoes — they are too waxy and resistant to mashing, producing a soup with a slightly gummy texture rather than the smooth, creamy base that makes this soup so exceptional.
- Add Cheese Off the Heat to Prevent Graininess: Adding shredded cheddar to actively boiling or very hot soup can cause the proteins in the cheese to seize and break, producing a grainy, slightly oily texture rather than a smooth melt. Reduce the heat to low before stirring in the cheese, and add it in small amounts, stirring continuously until each addition is fully melted before adding the next. The finished soup with properly melted cheese will be completely smooth and velvety; soup with improperly added cheese will have visible cheese grains suspended in the broth.
- Season at the End — Broth and Bacon Are Already Salty: Between the chicken broth (even low-sodium varieties contain significant salt) and the rendered bacon and the cheddar cheese, there is substantial salt already in this soup before any additional seasoning is added. Always taste the finished soup before adding salt — a properly seasoned soup built on these ingredients often needs very little added salt, and over-seasoning at the beginning of cooking produces a soup that becomes progressively saltier as it reduces during simmering.
- Add Toppings at the Table, Not During Cooking: Every topping on this soup — the crispy bacon, the shredded cheddar, the sour cream, the green onions — is designed to provide textural contrast against the smooth, hot, creamy soup. Adding toppings to the pot during cooking eliminates all that contrast: the bacon softens, the cheese melts into the base, the green onions wilt. Always add toppings directly to individual bowls immediately before serving so every spoonful delivers the intended combination of hot creamy soup against cool sour cream, crunchy bacon, and sharp fresh onion.
VARIATIONS
- Fully Loaded Baked Potato Soup: Double every topping — extra bacon, extra cheddar, extra sour cream, extra green onions — and serve in large, wide bowls with a small ramekin of each topping alongside so guests can add their own. This is the most indulgent, most visually impressive version of the soup and the one that most closely replicates the experience of a fully loaded baked potato in liquid form. I serve this as a standalone dinner on cold nights with garlic bread — it is a complete, deeply satisfying meal. See our crock pot crack potato soup for a slow-cooker version of this loaded concept.
- Vegetarian Potato Soup: Replace the bacon with 2 tablespoons of unsalted butter for the sauté step; replace the chicken broth with vegetable broth. Add 1 cup of sautéed cremini mushrooms for savory depth that partially replaces the smokiness the bacon provides. Skip the bacon topping and use extra cheddar, sour cream, green onions, and a drizzle of truffle oil for a sophisticated vegetarian version. The vegetarian soup is genuinely excellent — the roux-based broth provides all the creaminess and body the soup needs without any animal products beyond the dairy. See our vegetarian dinner recipes for more plant-forward ideas.
- Spicy Jalapeño Potato Soup: Add 1–2 finely diced jalapeños (seeds and membranes included for maximum heat) to the pot along with the onion and cook until softened. Stir in ½ teaspoon of cayenne pepper with the flour. Use pepper jack cheese instead of cheddar. Top each bowl with pickled jalapeño slices alongside the bacon and green onions. The heat builds through the creamy base in a wonderfully warming way that makes this the ideal soup for very cold nights when you want to feel thoroughly warmed from the inside out. Pair with our jalapeño cheddar cornbread for maximum heat.
- Cheddar Broccoli Potato Soup: Add 2 cups of small broccoli florets to the pot during the last 8–10 minutes of simmering, so they cook until just tender but still bright green. Increase the cheddar to 1½ cups and stir it in as directed. The broccoli adds color, freshness, and a subtle vegetable bitterness that balances the richness of the creamy potato base beautifully — it is genuinely one of the best vegetable soup combinations available and makes this soup feel complete as a standalone dinner. See our broccoli potato cheese soup for a dedicated version of this combination.
- Sweet Potato Version: Swap half or all of the regular potatoes with peeled, diced sweet potatoes — the same dicing and cooking technique applies and the cooking time is essentially the same. The sweet potato version produces a beautifully golden, slightly sweet soup with a more complex flavor profile than the all-russet version. Add a pinch of nutmeg and a small amount of smoked paprika to the flour step for a warm spice dimension that complements the sweet potato flavor perfectly. This is my favorite fall version of this soup and one of the most visually striking comfort foods I make.
SERVING AND STORAGE
Serving
Serve the potato soup hot in warmed bowls, topped generously with crumbled bacon, shredded cheddar, a spoonful of sour cream, and sliced green onions. Pair with our garlic bread rolls for dipping, our cheesy bread for a double-cheese experience, or a simple green salad for balance. For a dinner party first course, serve in smaller portions in warmed mugs or wide-bottomed cups — the soup is elegant enough in its presentation to begin a dinner party meal.
Storage
Refrigerate leftover soup in an airtight container for up to 4 days — the soup thickens significantly on standing, so stir in a splash of broth or milk when reheating to return it to the correct consistency. Reheat gently on the stovetop over medium-low heat, stirring frequently, or in the microwave in 90-second intervals, stirring between each. For freezer storage, freeze without the cream, cheese, and sour cream — add those fresh after reheating for the closest-to-fresh result. Freeze in airtight containers for up to 2 months. Thaw overnight in the refrigerator, reheat on the stovetop, then stir in cream, cheese, and sour cream over low heat to finish.

FAQ
Yes, with one modification for the best result. Freeze the soup before adding the cream, cheese, and sour cream — these dairy components can separate and become grainy when frozen and thawed. Make the soup through the potato-simmering and mashing step, cool completely, and freeze in airtight containers for up to 2 months. When ready to serve, thaw overnight in the refrigerator, reheat on the stovetop, and then stir in the cream, cheese, and sour cream over low heat as directed. The finished reheated soup will be essentially indistinguishable from freshly made.
Yes — whole milk works well as a substitute for heavy cream and produces a lighter, less rich soup that is still very satisfying. The texture will be slightly thinner and less velvety than the cream version, but the flavor will be excellent. For the richest possible result without heavy cream, use half-and-half (half milk, half cream) in place of the full cream quantity. Avoid skim or 1% milk — they produce a noticeably thinner, less flavorful soup and can cause the dairy to separate when the soup is at a rolling simmer.
Yukon gold potatoes are the top choice — their naturally buttery, slightly waxy texture produces chunks that hold their shape while still mashing smoothly for the thick base. Russet potatoes are the second-best option and produce a fluffier, slightly more starchy mash with a lighter color. Red potatoes are too waxy and do not mash smoothly, producing a slightly gummy texture. For the most visually attractive soup with distinct chunks and a creamy base, use Yukon gold every time.
Three approaches: (1) Mash more of the potatoes — instead of mashing one-third, mash one-half or two-thirds for a thicker, starchier base. (2) Mix 1 tablespoon of cornstarch with 2 tablespoons of cold broth to create a slurry, then stir it into the simmering soup and cook for 2–3 minutes until thickened. (3) Simmer uncovered for an additional 10 minutes to allow some of the liquid to evaporate and the soup to concentrate. All three methods work reliably and can be combined for maximum thickness.
Yes — use unsweetened oat milk or full-fat coconut milk in place of whole milk (coconut milk produces the richest dairy-free result), replace the heavy cream with additional coconut milk or a plant-based heavy cream alternative, and use dairy-free cheddar shreds and dairy-free sour cream. The dairy-free version follows the identical technique and produces a genuinely satisfying result — full-fat coconut milk in particular produces a rich, creamy soup that is barely distinguishable from the dairy version when seasoned well. Ensure your chicken broth is also dairy-free (most are, but check labels).
Best homemade potato soup is the recipe that turns any cold, grey, exhausting day into an evening worth looking forward to — the smell of it simmering fills the house, the first bowl warms you from the inside out, and the second bowl is even better than the first. Make a big pot, freeze half without the dairy, and you will have the best possible freezer meal ready for any difficult week ahead.
Try the fully loaded version for maximum indulgence, the jalapeño version for heat lovers, and the broccoli cheddar version when you want extra vegetables. Pair with our crock pot crack potato soup, our broccoli potato cheese soup, our garlic bread rolls, and our fall soup recipes for the ultimate cozy dinner collection. 🥔🧀✨


BEST HOMEMADE POTATO SOUP
Ingredients
- 6 slices bacon chopped
- 1 small onion diced
- 3 cloves garlic minced
- 3 tablespoons all-purpose flour
- 4 cups chicken broth
- 2 cups milk
- 1 cup heavy cream
- 4 cups peeled and diced potatoes russet or Yukon gold
- 1 teaspoon salt
- ½ teaspoon black pepper
- 1 cup shredded cheddar cheese
- 2 tablespoons sour cream
- 2 green onions sliced (for garnish)
Instructions
Cook the Bacon:
- In a large pot, cook bacon over medium heat until crispy. Remove and set aside, leaving about 1 tablespoon of drippings in the pot.
Sauté Veggies:
- Add onion to the pot and cook until soft. Stir in garlic and cook for 1 minute.
Make the Base:
- Sprinkle flour over the onions and cook for 1–2 minutes. Gradually whisk in chicken broth, then add milk and cream. Stir until smooth.
Add Potatoes & Simmer:
- Stir in potatoes, salt, and pepper. Bring to a boil, then reduce heat and simmer for 15–20 minutes until potatoes are tender.
Blend & Finish:
- For a smooth soup, mash some of the potatoes or blend part of the soup. Stir in cheddar cheese and sour cream. Return bacon to the pot or use for topping.
Serve:
- Ladle into bowls and top with green onions, extra cheese, and bacon bits.
Notes
Soup can be made a day ahead and reheated. It thickens slightly on standing. Variations:
Add corn or chopped carrots for extra flavour and texture. Storage Tips:
Store in an airtight container in the fridge for up to 4 days. Reheat gently on the stove.





Comments
No Comments