Soups & Stews
This grandma’s old-fashioned potato soup recipe with milk delivers that nostalgic, creamy comfort you’ve been craving—thick, velvety, and packed with homestyle flavor. ✨ The secret lies in simmering potatoes until tender, blending them with warm milk and broth, then letting the flavors meld slowly on the stove.
I’ve perfected this recipe over years of testing, ensuring every spoonful tastes like a hug from your kitchen.
What makes this soup special is its simplicity: just a few ingredients that work together to create something extraordinary. No fancy techniques—just boiling potatoes, blending until smooth, and simmering until the milk adds that signature richness.
The result is a soup so comforting, it’ll become your new weeknight staple. And the best part? It tastes even better the next day, making it perfect for meal prep.
By the time you’re done, you’ll have a steaming bowl of golden, velvety potato soup with a touch of creaminess that’s impossible to resist. The aroma alone will have everyone gathering around the table, and the texture—thick yet smooth—is pure comfort food magic.
This is the kind of soup that warms the soul and fills the house with memories.
Serve it with crusty bread for dipping or a sprinkle of fresh herbs for brightness. Here’s how to make it—just like Grandma used to.
Ingredients for grandma's old fashioned potato soup recipe with milk
Just 12 simple ingredients transform into Grandma's velvety milk potato soup.
| Ingredient | Amount | Notes |
|---|---|---|
| Yellow Onions 🧅 | 1 medium | Diced for base flavor |
| Yellow Potatoes 🥔 | 2 lb | Russet or Yukon gold |
| Carrots 🥕 | 3 medium | Peeled and sliced into rounds |
| Celery Stalks 🌿 | 2 medium | Diced for classic trio |
| Chicken Broth 💧 | 4 cups | Low-sodium preferred |
| Whole Milk 🥛 | 1 cup | Full-fat for creaminess |
| Butter 🧈 | 2 tbsp | Unsalted, for richness |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ½ tsp | Freshly ground preferred |
| Fresh Thyme 🌿 | 1 tbsp | Leaves only, chopped |
| Fresh Parsley 🌿 | ¼ cup | Chopped for garnish |
| Heavy Cream 🥛 | ¼ cup | Optional for extra richness |
The potatoes are the heart of this soup, so pick Yukon Gold or Russets—they hold their shape better than waxy varieties. Whole Foods or Trader Joe's carry perfect ones year-round, but any grocery store works. Skip the pre-cut bags; washing and peeling your own keeps them fresher. Carrots and celery should be firm with vibrant color—no rubbery or wilted stems. For broth, Swanson or Pacific Foods low-sodium versions save you time and salt. The milk matters too: whole milk adds richness, but 2% works if you prefer. I always grab extra milk since we use it in the soup and for dipping bread.
No fresh thyme? Dried works at one-third the amount, but fresh gives that bright, herbal note Grandma loved. Short on carrots? Swap in parsnips or turnips—they add sweetness. The heavy cream is optional but worth it for that ultra-creamy texture. If you skip it, stir in an extra splash of milk at the end. Butter substitutes? Olive oil or coconut oil work in a pinch, though butter gives that unmistakable flavor. For the broth, vegetable broth works too if you're vegetarian—just add a bouillon cube for depth. And if you're making a big batch, double the broth and milk—this soup freezes beautifully.
This soup tastes even better the next day as flavors meld. Store leftovers in the fridge for up to 5 days, or freeze portions for 3 months. For freezing, let it cool completely first. The milk keeps it creamy when reheated—just warm gently on the stove, stirring occasionally. I always make a double batch: one for dinner, one for lunches. The parsley and thyme can be chopped ahead and stored in the fridge for 3 days in an airtight container. And if you're serving with bread, toast it fresh—the contrast with warm soup is pure magic.
Why You'll Love This Recipe
- No-Fuss Ingredients: I swear by this recipe because it’s built on pantry staples—onions, carrots, celery, and potatoes—stuff I always have lurking in my fridge. No specialty items, no last-minute grocery runs. Just chop, simmer, and let the milk work its magic.
- Velvet-Smooth Magic: That creamy milk base transforms everything—potatoes melt into buttery chunks, carrots soften to sweet perfection, and the broth deepens into something rich and homey. Honestly, the first spoonful makes me pause mid-stir. It’s that good.
- Leftovers That Shine: This soup actually improves the next day. The flavors meld, the milk thickens just right, and it’s still creamy without being heavy. I make a double batch on Sundays because it’s my go-to for lazy weeknights—or when company drops by unexpectedly.
- Budget-Friendly Comfort: For under $10, I feed four people a meal that feels like a hug. Potatoes and carrots stretch the broth, celery adds depth without cost, and milk—well, it’s cheaper than sour cream or heavy cream. It’s the kind of recipe that makes me feel smart with my money.
Step-by-step instructions for Grandma's old-fashioned potato soup
Here's how to make this comforting classic—creamy, velvety, and packed with homestyle flavor.
🍳 Step 1: Sauté the Vegetable Base
Melt the 2 tbsp butter in a large pot over medium heat. Add the diced 1 medium yellow onions, 3 medium carrots, and 2 medium celery stalks. Cook for 8-10 minutes until the vegetables soften and the onions turn translucent.
I like to stir occasionally to prevent burning—this builds the flavor foundation. The carrots and celery should release their sweetness, while the onions develop a gentle caramelization. Add the 1 tbsp chopped fresh thyme here and let it toast for 30 seconds to release its aroma.
🍳 Step 2: Add Potatoes and Broth
Peel and cut the 2 lb yellow potatoes into 1-inch chunks (Yukon gold or russet work best). Add them to the pot along with the 4 cups chicken broth. Bring to a gentle boil, then reduce heat to medium-low and let it simmer for 15-20 minutes until the potatoes are fork-tender.
Here's the thing—don't cover yet. You want to let some moisture evaporate to concentrate the flavors. The potatoes should be soft enough to mash slightly with a fork, but still hold their shape. If you press a potato gently and it gives way, it's ready.
🥘 Step 3: Blend for Creamy Texture
Use an immersion blender to puree the soup directly in the pot until completely smooth. If you prefer a chunkier texture, blend only half and leave the rest whole. The soup should be velvety, with no lumps remaining.
I know some people worry about blending hot liquids, but modern immersion blenders handle this perfectly. Work in batches if needed, but keep the heat at medium-low to prevent splattering. The result should be a silky, restaurant-quality consistency.
🍳 Step 4: Add Milk and Season
Return the pot to medium heat and stir in the 1 cup whole milk and 0.25 cup heavy cream. Season with the 1.5 tsp salt and 0.5 tsp black pepper. Let it simmer for 5-7 minutes until heated through—you'll see tiny bubbles form around the edges.
This is where the magic happens. The milk and cream blend seamlessly, creating that signature creamy texture without being overly rich. Taste and adjust seasoning—Grandma's soup should be comforting, not salty. The thyme adds earthy depth, while the parsley brightens it up.
🍽️ Step 5: Finish and Serve
Remove from heat and stir in the 0.25 cup chopped fresh parsley. Ladle into bowls and serve immediately with crusty bread or oyster crackers. For extra richness, top each serving with a dollop of sour cream or extra heavy cream.
This soup tastes even better the next day, so make a double batch if you can. The flavors meld beautifully overnight, and the texture becomes even more velvety. Store leftovers in the fridge for up to 5 days—just reheat gently on the stove with a splash of milk or broth.
Pro Tips For Making Grandma'S Old Fashioned Potato Soup Recipe With Milk
- Sweat the Onions First: I learned this the hard way—skip the sauté, and your soup will taste raw and bitter. Get those onions down to a deep golden color (not brown) in a heavy pot with a splash of broth before adding anything else. That’s where the flavor actually builds, not just the aroma.
- Cut Potatoes Evenly: Uneven chunks mean some potatoes turn to mush while others stay hard. Aim for 1.5-inch cubes—big enough to hold shape but small enough to soften in 20-25 minutes. (Yes, even if you’re impatient like me, resist the urge to make them smaller.)
- Add Milk Slowly: Dumping cold milk at the end will curdle your soup faster than you can say “grandma’s secret.” Warm the milk separately until it’s just steaming, then whisk it in a thin stream while stirring the pot constantly. The soup should thicken slightly—if it doesn’t, simmer another 5 minutes.
- Strain the Veggies: This isn’t the prettiest method, but it’s the tastiest. After simmering the onions, carrots, and celery for 15 minutes, strain out the solids with a fine-mesh sieve. The broth will be silky smooth, and you can blend the veggies separately for a quick roux-like texture to thicken the soup later. (Your future self will thank you.)
Creative variations of this grandma's old fashioned potato soup recipe with milk
Creamy Cheese Twist
For a richer, cheesier version, stir in 1 cup shredded sharp cheddar or ½ cup cream cheese with the milk. I love adding ½ tsp smoked paprika for depth—it reminds me of Grandma’s secret touch.
Use whole milk and simmer until the cheese melts completely, about 3-5 minutes. This version feels extra indulgent but still keeps that homestyle charm. 🧀
Roasted Potato Depth
Swap the boiled potatoes for roasted ones—toss 2 lb Yukon Gold potatoes in 1 tbsp olive oil, ½ tsp salt, and ½ tsp thyme, then roast at 400°F for 30 minutes until golden.
Add them directly to the pot with the broth and blend as usual. Roasting caramelizes the edges, adding a nutty sweetness that elevates the soup. 🔥
Herb-Infused Variations
Swap thyme for rosemary or sage—both add earthy notes that pair beautifully. For a brighter twist, add 1 tbsp lemon zest with the parsley at the end.
I also love ½ tsp ground nutmeg for warmth, especially in winter. Fresh herbs brighten the soup, while dried spices add cozy depth. 🌿
Vegetarian Adaptation
Replace chicken broth with 4 cups vegetable broth and add 1 tbsp soy sauce or ½ tsp miso paste for umami. Use ½ cup coconut milk instead of dairy milk for a lighter option.
The soup stays creamy and satisfying—just skip the heavy cream if avoiding dairy. This version works perfectly for plant-based eaters! 🌱
Spicy Kick Option
For heat lovers, add ½ tsp cayenne pepper or 1 tbsp hot sauce (like Tabasco) when blending. Top each bowl with crumbled bacon or chopped jalapeños for extra fire. The creaminess balances the heat beautifully, creating a bold yet comforting flavor. 🌶️
Meal-Prep Friendly
Double the recipe and freeze half for quick lunches. Store in airtight containers with 1 tbsp milk or broth on top to prevent a skin from forming. Reheat on the stove with medium-low heat, stirring occasionally. The texture stays creamy, and the flavors deepen overnight—perfect for busy weeknights! ⏰
Nutrition facts
Frequently asked questions
Why does this potato soup recipe use milk instead of cream?
Milk creates a lighter, more traditional texture while still adding richness. The 1 cup whole milk blends beautifully with the potatoes, creating that signature velvety consistency without making the soup overly heavy. Plus, it keeps the flavor bright and comforting—just like Grandma's version!
Can I make this soup without an immersion blender?
Transfer the hot soup to a blender in batches, blending until completely smooth. Just be extra careful—hot liquids can cause splattering. For a chunkier texture, mash the potatoes with a potato masher instead of blending. The result will still be delicious and comforting.
How do I prevent the soup from getting too thin when reheating?
Stir in 1-2 tablespoons of milk or broth while reheating to restore creaminess. Never microwave it directly—always warm it on the stove over low heat to prevent separation. A splash of cold milk helps thicken it back up beautifully. The soup should be smooth and velvety, just like fresh!
What's the best way to store leftovers?
Let the soup cool completely, then transfer to airtight containers with a layer of milk or broth on top to prevent a skin from forming. It keeps in the fridge for up to 5 days or freezes for 3 months. The flavors actually deepen overnight, making it perfect for meal prep!
Can I use sweet potatoes instead of yellow potatoes?
Yes, but the texture will be slightly sweeter and softer. Sweet potatoes work well, though they may require 5-7 extra minutes of simmering to reach the same tenderness. For a balanced flavor, reduce the salt slightly since sweet potatoes are naturally sweeter. The milk still blends beautifully, creating a unique twist!
