Soups & Stews
This best potato soup recipe from scratch delivers the ultimate comfort in a bowl—creamy, velvety, and topped with crispy bacon bits and celery crown crunch.
The secret lies in a rich, roux-based broth that simmers until the potatoes melt into tender perfection, while the bacon adds smoky depth and the celery crown brings satisfying texture. After years of testing, this version combines classic techniques with modern twists for a soup that's both nostalgic and elevated.
The foundation starts with a proper roux—equal parts butter and flour cooked until golden—to create a silky base that prevents the soup from breaking. I use Yukon Gold potatoes for their buttery texture and celery for that signature aromatic crunch, all balanced by a touch of cream for richness.
What sets this apart is the crispy bacon bits and celery crowns baked separately, ensuring every spoonful delivers contrast without sogginess.
By the time you're done, you'll have a creamy soup with tender potatoes, savory bacon, and crispy celery crowns that add a satisfying crunch. The aroma alone will fill your kitchen with warmth, while the flavors—savory, slightly sweet, and rich—make this the ultimate weeknight dinner or holiday side.
It's the kind of soup that disappears in minutes and leaves everyone asking for seconds.
Perfect for chilly evenings, game days, or holiday gatherings, this recipe scales easily for crowds. The instructions are straightforward, but the result feels like a restaurant-quality dish. Let's get started on making the best potato soup you've ever tasted.
Ingredients for best potato soup recipe from scratch
These rich, comforting ingredients create the ultimate creamy potato soup with crispy bacon and celery crown crunch.
| Ingredient | Amount | Notes |
|---|---|---|
| Unsalted Butter 🧈 | ¾ cup | Cold, cut into tablespoon pieces |
| All-Purpose Flour 🌾 | ¾ cup | White or whole wheat blend |
| Yukon Gold Potatoes 🥔 | 3 lb | Peeled, cut into 1-inch cubes |
| Celery Stems 🧅 | 4 whole | Trimmed, cut into 1-inch pieces |
| Yellow Onion 🧅 | 1 whole | Medium size, diced |
| Garlic Cloves 🧄 | 4 cloves | Peeled and minced |
| Chicken Broth 💧 | 6 cups | Low-sodium preferred |
| Heavy Cream 🥛 | 1 cup | Full-fat for richness |
| Thick-Cut Bacon 🥓 | 12 oz | Cooked until crispy |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ½ tsp | Freshly ground preferred |
| Dried Thyme 🌿 | 1 tsp | Or 1 tbsp fresh thyme |
| Dried Parsley 🌿 | 1 tsp | For garnish |
| Celery Leaves 🧅 | ¼ cup | For celery crowns |
The butter and flour make a golden roux—the secret to that velvety texture. Use European-style butter like Plugrá for extra flavor, or any good brand. For the potatoes, Yukon Golds are non-negotiable—their buttery texture melts perfectly. I always grab the pre-cut bacon at Costco for consistency, but any thick-cut bacon works. The celery? Fresh is best—those sad, rubbery stalks from the back of the fridge won't cut it. Look for crisp, bright green celery with tight leaves.
No chicken broth? Vegetable broth works just as well—just add a bouillon cube for depth. Short on cream? Half-and-half or coconut milk gives a similar richness. The bacon bits can be store-bought, but homemade is worth it—crispier and saltier. For the celery crowns, save those pretty leaves you normally toss. Dip them in egg wash and bake until crispy. If thyme feels like overkill, swap for rosemary at half the amount. And if you're feeling fancy, add a pinch of nutmeg to the roux—trust me on this.
The roux keeps for 3 days in the fridge, but the soup tastes even better the next day as flavors meld. Store leftovers in airtight containers for 4-5 days—or freeze for 3 months. I always make a double batch because it disappears so fast. The celery crowns stay crisp for 2 days if stored in a sealed container. Pro tip: Keep the bacon bits in a jar so you can sprinkle them on salads or eggs later.
Why You'll Love This Recipe
- Here’s what sold me: that velvety texture comes from a simple roux (butter + flour), not heavy cream or sour cream. The potatoes turn tender but stay intact—no mushy nightmares—while the onion and celery add just enough depth to make it ridiculously satisfying.
- One-Pot Magic: I swear by this recipe because it’s actually one-pot—no extra bowls, no fuss. Just melt butter, toss in flour, stir in chopped Yukon Golds and celery, then let the slow simmer do the work. My counter stays clear, and my soul stays happy.
- Creamy Without the Drama: Here’s what sold me: that velvety texture comes from a simple roux (butter + flour), not heavy cream or sour cream. The potatoes turn tender but stay intact—no mushy nightmares—while the onion and celery add just enough depth to make it ridiculously satisfying.
- Lunchbox Hero: Between us, this soup is my secret weapon for packed lunches. It reheats like a dream, stays warm in a thermos, and even my picky teenager grabs it on busy mornings. (Yes, even on a Tuesday night.) The Yukon Golds hold up perfectly, and the flavor only gets better the next day.
Step-by-step instructions for creamy potato soup with crispy bacon
This is where the magic happens—simple steps for a velvety soup with bacon crunch and celery crown garnishes!
Cook the Bacon and Make the Roux
First, cook the 12 oz thick-cut bacon in a large Dutch oven over medium heat until deep golden brown and crispy, about 12-15 minutes. Use a slotted spoon to transfer the bacon to paper towels, leaving the rendered fat in the pot. This bacon fat is pure flavor gold—don't drain it!
Reduce the heat to medium-low and add the 0.75 cup unsalted butter, letting it melt into the bacon fat. Then whisk in the 0.75 cup all-purpose flour to form a smooth roux. Cook this mixture for 2-3 minutes, stirring constantly, until it turns a light golden brown—this will thicken your soup beautifully and give it that rich, creamy base.
Sauté the Vegetables and Add Potatoes
Add the diced yellow onion and minced garlic cloves to the Dutch oven, cooking for 3-4 minutes until the onion becomes translucent and the garlic releases its fragrant aroma. Next, add the 4 whole celery stems, cut into 1-inch pieces, and cook for another 3 minutes until softened.
Now add the 3 lb peeled Yukon Gold potatoes, cut into 1-inch cubes. Stir everything together, coating the potatoes evenly with the roux. Pour in the 6 cups chicken broth, scraping the bottom of the pot to lift any browned bits. Bring the mixture to a gentle boil, then reduce heat to low and let it simmer for 15 minutes, stirring occasionally, until the potatoes are tender when pierced with a fork.
Season and Finish with Cream
Season the soup with 1.5 tsp salt, 0.5 tsp black pepper, 1 tsp dried thyme, and 1 tsp dried parsley. Stir well to distribute the flavors evenly. Let the soup simmer for another 5 minutes to let the seasonings meld into the broth.
Reduce the heat to low and stir in the 1 cup heavy cream. Simmer gently for 3-4 minutes—just enough to warm the cream through without curdling. Taste and adjust the seasoning if needed. The soup should be creamy, rich, and perfectly balanced between the savory bacon, sweet potatoes, and aromatic herbs.
Garnish and Serve with Celery Crown Crunch
Ladle the soup into bowls, garnishing each serving with crispy bacon bits and a sprinkle of 0.25 cup celery leaves for that fresh, herby crunch. The celery leaves add a bright contrast to the creamy soup and a delightful texture with every bite.
Serve immediately while the bacon is still crispy and the soup is steaming hot. The contrast of the creamy potato soup, crispy bacon bits, and fresh celery leaves makes this the ultimate comfort dish—perfect for chilly days or cozy gatherings!
Pro Tips For Making Best Potato Soup Recipe From Scratch
- Sweat, Don’t Burn the Base: Cook the onion and celery in butter over medium-low heat until the onion turns translucent and the celery softens—about 8-10 minutes. I used to rush this, and the soup always tasted raw. Let the butter foam down first, then add the veggies; this keeps the flour from burning when you toss it in later.
- Peel Potatoes After Cooking: Skip peeling the Yukon Golds before boiling. The skins add texture and nutrients, and they’re easier to handle once cooked. Just scrub them well, boil them whole, then peel after draining—no more slipping on wet potatoes or losing chunks to the sink.
- Thin the Roux Gradually: When adding the broth to the butter-flour roux, pour it in slowly at first. A sudden rush of liquid will create lumps, and no one wants gluey soup. Once it’s loosened, you can add the rest faster—but start slow to guarantee a smooth base.
- Strain for Silkiness (Optional): If you want a velvety finish, strain the soup through a fine-mesh sieve after cooking. It’s extra work, but the result is worth it—especially if you’re serving it to picky eaters or want that restaurant-quality feel. Save the potato solids for mashed potatoes or fries instead of tossing them.
Make-ahead tips for this best potato soup recipe from scratch
Prep Ahead for Perfection
Make the roux 2 days ahead and store it in an airtight container in the fridge. It’s the flavor foundation of your soup, and prepping it early saves you time on cooking day. Just whisk in the butter and flour, cook until golden, then let it cool completely before storing.
When you’re ready to cook, simply add your veggies and broth to the roux—no extra work! 💡
Bacon and Celery Prep
Cook the bacon ahead of time and crumble it for easy storage. Store the crispy bits in a sealed container for up to 5 days—they’ll stay crunchy if you keep them in a single layer.
For the celery crowns, wash and dry the leaves, then store them separately in a paper towel-lined container. This keeps them fresh until you’re ready to bake them crispy right before serving.
Potato Prep Shortcut
Peel and cube the potatoes the night before and store them in a bowl of cold water in the fridge. This prevents browning and makes them ready to add straight to your pot.
Drain them well before cooking to avoid watering down your soup. I always do this because it cuts my cooking time in half—no last-minute peeling chaos! ⏰
Freezer-Friendly Soup Base
After simmering the potatoes and broth (before adding cream), let the soup cool completely, then transfer it to freezer-safe containers. It keeps for 3 months in the freezer. When you’re ready to serve, simply thaw it in the fridge overnight, then heat it gently on the stove.
Stir in the cream and crispy bacon bits just before serving for that perfect texture contrast.
Make-Ahead Garnishes
Bake the celery crowns 1 day ahead and store them in an airtight container at room temperature. They’ll stay crisp for 2 days, making them perfect for topping multiple servings. Keep the fresh parsley and thyme in small containers in the fridge—just chop them when needed.
This way, your soup is ready to serve with minimal effort, and everything stays fresh and flavorful. 🌿
Batch Cooking for Crowds
Double or triple the recipe and freeze portions in quart-sized freezer bags for easy reheating. Label each bag with the date and contents so you can grab one whenever you need a quick, comforting meal.
I always make extra because this soup disappears faster than you can say "seconds, please!" The key is to portion it before freezing so you can thaw just what you need. ❄️
Nutrition facts
Frequently asked questions
Can I make this potato soup without cream?
For a lighter version, replace the 1 cup heavy cream with 1 cup whole milk or ½ cup Greek yogurt mixed with ½ cup milk. The soup will still be rich but slightly tangier. If you prefer no dairy at all, use 1 cup unsweetened coconut milk—it adds a subtle sweetness that pairs well with the potatoes.
Why does my roux get lumpy when cooking?
Roux lumps happen when the butter and flour aren't whisked smoothly or the heat is too high. Always whisk constantly over medium-low heat until golden, and make sure your butter is melted before adding flour. For extra insurance, blend the roux briefly with an immersion blender after cooking to create a silky texture.
How do I keep the celery crowns crispy?
Bake them at 400°F for 8-10 minutes until golden, then let them cool completely on a wire rack. Store in an airtight container at room temperature—they'll stay crisp for 2 days. For extra crunch, toss them with a tiny bit of cornstarch before baking. Never store them in the fridge, as moisture will make them soggy.
Can I substitute Yukon Gold potatoes?
Yes, but texture will differ. Russet potatoes work well for a fluffier soup, while red potatoes hold their shape better. For the creamiest result, stick with Yukon Golds—their buttery flavor and smooth texture are ideal. If using another variety, adjust cooking time by 2-3 minutes longer.
What's the best way to reheat leftovers?
Reheat gently on the stove over low heat, stirring frequently to prevent scorching. For extra creaminess, add 1-2 tablespoons of milk or cream while reheating. Avoid microwaving—it can make the potatoes gummy. If the soup seems too thick, thin it with a splash of broth. Leftovers taste even better the next day!
