This hearty soup starts with crisped beef bacon for smoky depth, followed by sautéed aromatic vegetables. Tender diced potatoes simmer in savory broth with a hint of smoked paprika. Partially mashed potatoes create a creamy texture with chunks for bite. Milk, cream, and sharp cheddar blend into a rich, smooth base finished with melted mozzarella. Garnished with extra cheese and chives, it's perfect for warming up on chilly days.
There's something about a bowl of creamy potato soup that stops time on a gray afternoon. I discovered this particular version quite by accident one winter when I had a pound of russet potatoes, half a pack of bacon I'd been meaning to use, and absolutely no plan beyond staying warm. The bacon fat mingled with butter created this golden, savory base that made the whole kitchen smell like comfort, and by the time I stirred in the cheese, I knew I'd found something special that would become a regular request at my table.
I made this for my roommate during her first rough week at a new job, and watching her face soften with that first spoonful felt like small magic. She asked for the recipe the next morning, which honestly felt like the highest compliment a home cook could receive.
Ingredients
- Russet potatoes (1 kg, peeled and diced): These break down into creamy clouds while keeping just enough structure to bite into, which is exactly what makes this soup feel substantial without being heavy.
- Beef bacon (150 g, chopped): Don't skip this or swap it lightly—the smoky fat it renders becomes your flavor foundation and creates those crispy bits that give every spoonful texture.
- Onion, celery, and carrots (1 medium, 2 stalks, 2 medium respectively): These three form the aromatic base that builds flavor quietly from the first sauté onward.
- Garlic (2 cloves, minced): Added after the vegetables soften so it doesn't burn and turn bitter.
- Unsalted butter (60 g): Combined with bacon fat, this creates a roux that thickens and enriches everything that follows.
- All-purpose flour (2 tbsp): This acts as your thickening agent—cook it for a full two minutes so the raw flour taste disappears completely.
- Chicken or vegetable broth (750 ml): The broth carries flavor through every spoonful and keeps the soup from becoming too heavy.
- Whole milk and heavy cream (750 ml and 250 ml): Milk adds body while cream adds richness without overwhelming the potato flavor.
- Sharp cheddar and mozzarella (150 g and 60 g): Cheddar brings the punch of flavor while mozzarella melts silky smooth; together they create creamy complexity.
- Smoked paprika (½ tsp): This quiet spice deepens the savory notes and echoes the bacon smoke without being obvious about it.
- Salt, pepper, and garnishes (chives or green onions and extra cheddar): Taste before serving and adjust seasoning with intention—salt is your flavor amplifier and the fresh green garnish provides contrast to all that richness.
Instructions
- Render the bacon and build your base:
- Chop your bacon and cook it over medium heat until it's crispy and dark at the edges. The fat will render gradually, turning golden, and that's when you'll know it's done. Remove it with a slotted spoon and set aside, leaving about 2 tablespoons of fat in the pot because that's liquid gold for everything that comes next.
- Soften the vegetables:
- Add butter to the bacon fat and let it melt into a single, aromatic liquid. Toss in your chopped onion, celery, and carrots, stirring occasionally until they soften and the edges of the onion turn translucent, about 5 minutes. Add your minced garlic and cook for just one more minute until the kitchen smells irresistible.
- Make a roux:
- Sprinkle flour over the vegetables and stir constantly for 2 full minutes. This cooking removes the raw flour taste and creates a paste that will thicken your soup. If it sticks, it's working.
- Add the broth and potatoes:
- Pour in your broth slowly while scraping the bottom of the pot with a wooden spoon, lifting up all those flavorful browned bits. Add your diced potatoes, smoked paprika, salt, and pepper, stirring to combine everything evenly.
- Simmer until potatoes collapse:
- Bring the soup to a boil, then turn the heat down and let it simmer uncovered for 15 to 20 minutes until a fork slides through a potato piece with almost no resistance. This is when the potatoes release their starch and begin thickening the broth naturally.
- Mash for creaminess:
- Using a potato masher or immersion blender, break down some of the potatoes—maybe two-thirds of them—leaving visible chunks so there's texture in every bite. The broken-down potatoes thicken everything while the whole pieces keep the soup from feeling like paste.
- Stir in the dairy:
- Add your milk and cream, stirring gently, and let it all simmer together for 5 minutes so the flavors marry. The soup will smell even more inviting now.
- Melt in the cheese:
- Turn the heat down to low and add your cheddar and mozzarella, stirring constantly until they're completely melted and smooth. Don't let it boil or the cheese can separate and become grainy.
- Finish and serve:
- Stir the cooked bacon back in, taste the soup, and adjust salt and pepper if it needs it. Serve in bowls and top with extra cheese and chopped chives so each person gets a little crispy, creamy, and fresh in their bite.
The moment someone asks for seconds without being prompted, you know you've created something that moves beyond recipe into ritual. This soup has that quiet power.
Texture Is Everything
The magic of this soup lives in the contrast between creamy broth, soft potatoes, and crispy bacon. Don't over-mash everything into smoothness because that's when soup becomes baby food instead of something you actually want to eat. Leave some potato chunks whole, let them float there, and they'll remind you that this is made from real vegetables, not just cream and cheese.
Flavor Building Matters
Each step in this recipe—rendering the bacon, cooking the roux, simmering the potatoes, adding cheese at the end—builds flavor in layers. You can't skip steps or rush them because the depth comes from patience, not from turning everything up to high heat. The smoked paprika whispers through everything, and it matters that you add it early so it infuses rather than sitting on top.
Make It Your Own
This soup is a canvas for preferences and what's already in your fridge. Some people swear by a touch of sour cream stirred in before serving, which adds a slight tang that cuts through the richness. Others bump up the smoked paprika because they love that savory smoke, or add a pinch of cayenne if they want a whisper of heat.
- For a vegetarian version, skip the bacon and use extra paprika or add a splash of white wine to build depth.
- If you're avoiding dairy, you can experiment with heavy cream alternatives, though the flavor will shift and become less rich—it's worth trying but accept it will taste different.
- Leftover soup reheats gently on the stove with a splash of milk, never in the microwave where it can separate.
This is the kind of soup that becomes a signature, the one people remember and ask for by name. Make it for someone you care about and watch what it does.
Recipe Questions & Answers
- → Can I use turkey bacon instead of beef bacon?
-
Yes, turkey bacon works well as a lighter alternative and retains smoky flavor. Adjust smoked paprika to enhance taste.
- → Is there a way to make this soup gluten-free?
-
Use gluten-free flour and broth substitutes to keep the dish safe for gluten-sensitive diets without compromising flavor.
- → How do I achieve the creamy texture without losing some potato chunks?
-
Partially mash the potatoes using a masher or immersion blender, leaving some chunks to add body and texture.
- → What cheeses provide the best flavor balance?
-
Sharp cheddar adds a bold taste while mozzarella melts smoothly, combining for a rich, creamy base.
- → Can this soup be prepared ahead of time?
-
Yes, it reheats well. Store in an airtight container and reheat gently to maintain creaminess and flavor.