Soups & Stews
This authentic German potato soup brings hearty tradition to your kitchen with its rich, savory broth and signature crispy onion topping. š The secret lies in slow-simmered potatoes, tender bacon, and aromatic herbs that create a comforting bowl perfect for chilly days.
I've perfected this recipe through years of testing, ensuring every spoonful delivers that classic German Kartoffelsuppe experience.
The magic happens in the broth, where potatoes, onions, and bacon simmer until tender, releasing their natural flavors into a deeply satisfying liquid. Traditional German techniquesālike browning the bacon first and simmering the soup low and slowāensure the broth develops that signature depth.
The crispy onion topping, made with thinly sliced onions caramelized to golden perfection, adds a delightful textural contrast that's impossible to resist.
What you'll end up with is a crispy-topped, restaurant-quality soup that's rich, hearty, and packed with authentic German flavor. The broth is velvety and savory, while the onions on top provide a satisfying crunch that balances every bite.
This soup is the kind of dish that feels like a warm hug on a cold day, and it's sure to become a staple in your meal rotation.
Serve it with crusty bread to soak up every last drop of that flavorful broth, or pair it with a simple green salad for a complete meal. The best part?
This recipe is foolproofāonce you try it, you'll never go back to store-bought versions. Let's get started on making this classic German comfort food at home.
Ingredients for authentic german potato soup
Pantry staples plus a few German market findsāthis soup delivers restaurant-quality comfort.
| Ingredient | Amount | Notes |
|---|---|---|
| Yellow Onions š§ | 3 whole | Thinly sliced for caramelizing |
| Russet Potatoes š„ | 2 ½ lb | Medium size, peeled and cubed |
| Thick-Cut Bacon š„ | 8 oz | Thick-cut preferred for crispiness |
| Fresh Parsley šæ | ¼ cup | Chopped, for garnish |
| Fresh Thyme šæ | 1 tbsp | Leaves only, stems removed |
| Bay Leaves š | 2 whole | For deep flavor infusion |
| Chicken Broth š§ | 6 cups | Low-sodium preferred |
| Whole Milk š„ | ½ cup | Full-fat for creaminess |
| Salt š§ | 1 ½ tsp | Kosher or sea salt |
| Black Pepper š¶ļø | ½ tsp | Freshly ground preferred |
| Butter š§ | 2 tbsp | Unsalted, for crispy topping |
| All-Purpose Flour š¾ | 2 tbsp | For crispy onion topping |
The bacon makes this soup singāthick-cut is key for that crispy edge. Grab the applewood-smoked kind at Kroger or Trader Joe's; it adds a subtle sweetness that pairs perfectly. Russet potatoes hold their shape better than Yukon Golds for this recipe, but if that's what you've got, go for it. Fresh thyme is ideal, but dried works at one-third the amount. Look for German bay leaves at specialty stores if you want that authentic touchāotherwise, regular bay leaves still work.
No thick-cut bacon? Regular bacon, cut into 1-inch pieces gives you a similar effect. Out of fresh thyme? Dried thyme or marjoram both work, but halve the amount. For the crispy topping, if you don't have flour, panko breadcrumbs are a great substitute. The onions can be pre-sliced from the store, but thinly slicing them yourself (almost translucent) ensures that perfect caramelized texture. And trust me, the milk is worth itāit keeps the broth silky smooth without making it too heavy.
This soup tastes even better the next dayā3-4 days in the fridge, honestly. For the crispy topping, make it fresh when serving, but you can prep the broth ahead. Store the onions and butter mixture in a sealed container in the fridge for up to 2 days. Freeze the broth portion for 3 months if you're prepping for a crowd. Just reheat gently and top with the crispy onions right before serving.
Why You'll Love This Recipe
- Bacon First: The thick-cut bacon renders in minutes, giving that deep, smoky richness straight to the potāno waiting for flavors to build. Honestly, the first spoonful of soup with crispy bacon bits still clinging? Thatās the moment it hits.
- One-Pot Magic: Peel and chop potatoes while the bacon cooks, then toss everything in one pot. Between us, thatās how I feed my family on nights when Iād rather be watching TV than slaving over multiple pans.
- Soup That Works Anywhere: Cold nights? Check. Picnic blankets? Even better. My husband takes it to work for lunchāitās hearty enough to stand up to a busy day, and the thyme keeps it fresh longer than store-bought versions.
- Leftovers That Taste Better: The flavors deepen overnight, and it reheats like a dream. Iāll be real: my freezer is full of these containers, and Iād rather eat last weekās soup than takeout any dayāespecially when itās just $3 worth of ingredients.
Step-by-step instructions for authentic German potato soup
Here's how to make this hearty, comforting soup with that perfect crispy onion topping.
š„ Step 1: Cook the Bacon and Caramelize the Onions
Cut the 8 oz thick-cut bacon into ½-inch pieces and cook in a large Dutch oven over medium heat until crispy, about 8-10 minutes. Use a slotted spoon to remove the bacon and set aside on paper towels, leaving the rendered fat in the pot.
In the same pot, add 2 of the whole yellow onions (thinly sliced) and cook over medium-low heat for 15-20 minutes, stirring occasionally. You're looking for deep golden-brown caramelizationāthe onions should smell sweet and rich. If they stick, add a splash of chicken broth to deglaze. This step builds the soup's deep, savory foundation.
š³ Step 2: Build the Potato Broth
Add the remaining 1 whole yellow onion (thinly sliced), 2 whole bay leaves, 1 tbsp fresh thyme leaves, 1.5 tsp salt, and 0.5 tsp black pepper to the pot. Pour in 6 cups chicken broth and bring to a gentle boil. Add the 2.5 lb peeled and cubed russet potatoes, reduce heat to low, and simmer for 20-25 minutes until the potatoes are fork-tender.
Here's the thingādon't skip the simmer time. The potatoes should be soft enough to mash slightly with a fork, but still hold their shape. If they break apart too soon, your soup will be too thin. Taste the broth and adjust seasoning if needed, but remember the bacon and caramelized onions will add more flavor later.
š„ Step 3: Finish with Creamy Milk and Crispy Topping
Remove the bay leaves and thyme stems. Stir in the 0.5 cup whole milk and the reserved crispy bacon. The milk adds just the right amount of creaminess without making the soup too heavy. Keep the soup warm over low heat while you prepare the crispy topping.
In a separate small skillet, melt 2 tbsp butter over medium heat. Add the remaining 2 tbsp all-purpose flour and whisk constantly for 1-2 minutes until golden brown. Immediately stir in the remaining ½ cup chopped fresh parsley and the caramelized onions from the pot. This creates a crispy, herby topping that's the star of this soup.
š½ļø Step 4: Serve with the Perfect Topping
Ladle the warm potato soup into bowls, then immediately spoon the crispy onion mixture on top. The contrast between the creamy, comforting broth and the crispy topping is what makes this soup truly authentic and irresistible. Serve with crusty bread to soak up every last drop of that flavorful broth.
Real talk: the crispy topping is everything. Don't skip making it freshāstore-bought toppings just won't cut it. If you have leftovers, you can reheat the soup (just add a splash of broth if it thickens) and crisp the topping again in the skillet before serving. Enjoy this soul-warming German classic!
Pro Tips For Making Authentic German Potato Soup
- CUT BACON LOW AND SLOW: I learned this the hard wayācrisping thick-cut bacon on high heat just makes it chewy and uneven. Instead, cook it over medium-low, stirring occasionally, until the fat renders and the edges turn golden. That slow render builds flavor without burning, and the bacon stays crispy enough to hold its shape in the soup.
- PEEL POTATOES AFTER BOILING: Russets turn to mush if you peel them raw, and pre-peeling wastes time. Boil them whole in salted water for 8-10 minutes until fork-tender, then drain and peel under running water. The skins slide off clean, and the potatoes hold together better when sliced for the soup.
- SWEAT ONIONS UNTIL TRANSPARENT: Donāt rush the onionsācook them in bacon fat over medium heat until theyāre soft, golden, and nearly colorless. This caramelizes their natural sugars, giving the soup depth. If they brown too fast, lower the heat and add a splash of water to steam them out.
- STIR IN THYME LATE: Fresh thyme burns faster than parsley, so add it only in the last 5 minutes of simmering. This keeps its bright, herbal notes from turning bitter. Tuck the stems into the bacon fat first, then chop the leaves at the end for garnish.
Storing and reheating this recipe
Refrigerator Storage
Store your German potato soup in an airtight container for up to 4 days in the refrigerator. The flavors actually deepen overnight as the ingredients meld together. I like using glass Pyrex containers because they preserve the soup's texture better than plastic.
Let the soup cool completely before transferring to avoid condensation, which can make the broth watery. š„£
Freezer-Friendly Broth
For longer storage, freeze the soup without the crispy toppingāit wonāt hold its texture well after thawing. Use freezer-safe containers or heavy-duty freezer bags, leaving 1 inch of headspace for expansion. Label with the date and freeze for up to 3 months.
Thaw overnight in the fridge before reheating. The broth will thicken slightly, so add ¼ cup broth or water when reheating.
Crispy Topping Prep
Make the crispy onion topping fresh when serving, but you can prep the components ahead. Store the caramelized onions and butter-flour mixture separately in the fridge for up to 2 days.
When ready to serve, simply combine them in a skillet over medium heat for 2-3 minutes until golden and crispy again. This keeps the texture perfect every time. š„
Reheating Like a Pro
For best results, reheat the soup on the stovetop over low heatāthis prevents the potatoes from breaking down. If using the microwave, heat in 1-minute intervals on 50% power, stirring between each interval.
Avoid boiling, as this can make the soup watery. Always add a splash of broth or water if the soup thickens too much during reheating.
Leftovers Magic
Turn leftover soup into a completely different meal by blending it into a creamy potato soup the next day. Simply heat it gently and blend until smooth. For extra richness, stir in 2 tbsp sour cream or a dollop of Greek yogurt.
This works especially well if you have extra crispy bacon bits to sprinkle on top for a flavor boost. š«
Crispy Topping Revival
If your crispy topping loses its crunch after reheating, donāt worryāyou can revive it! Spread the cooled topping on a baking sheet and bake at 350°F for 5-7 minutes until crispy again.
For an even quicker fix, reheat it in a dry skillet over medium heat for 2-3 minutes, stirring constantly. This trick works wonders for restoring that satisfying crunch. āØ
Nutrition facts
Frequently asked questions about authentic German potato soup
Can I make this soup without bacon?
Yes, you can substitute bacon with smoked sausage or even mushrooms for a vegetarian version. Use 8 oz smoked sausage (like kielbasa) or 1 cup sliced mushrooms cooked until browned. The key is maintaining that rich, savory baseājust adjust the cooking time slightly if using mushrooms.
Why does my soup turn out too thin?
This usually happens if the potatoes overcook and break apart. Use medium-sized russet potatoes and remove them from the broth when they're just fork-tender (about 20-25 minutes). For extra thickness, mash 1-2 potatoes slightly before adding them back to the pot. Alternatively, simmer uncovered for 5-10 minutes to reduce the broth.
What's the secret to the perfect crispy onion topping?
The magic is in the low-and-slow caramelization and the butter-flour roux. Slice onions paper-thin (almost translucent) and cook them on medium-low heat for 15-20 minutes until deep golden. For the topping, cook the butter and flour until golden brown (about 1-2 minutes)āthis creates a crispy base that locks in the flavor.
Can I use instant potato flakes instead of fresh potatoes?
Not for this authentic recipeāthe texture and flavor won't be the same. Fresh potatoes develop a creamy, hearty consistency that flakes can't replicate. If you're short on time, try pre-cooked baby potatoes (like red potatoes) for a quicker option, but they won't have the same depth of flavor as russets.
How do I make this soup spicier?
Add ½ tsp smoked paprika or ¼ tsp cayenne pepper to the broth while simmering. For heat with depth, stir in 1-2 tbsp tomato paste when caramelizing the onions. If you love spice, top each bowl with a sprinkle of crushed red pepper flakes or a dash of hot sauce before serving.
