Soups & Stews
This beet and potato soup recipe transforms humble root vegetables into a velvety, earthy-sweet masterpiece that's perfect for chilly evenings. The secret lies in roasting the beets first—this caramelizes their natural sugars, deepening their flavor without overpowering the dish.
I developed this version after years of testing, ensuring every spoonful delivers that perfect balance of sweetness from the beets and hearty comfort from the potatoes.
The recipe comes together in one pot with simple ingredients: beets, potatoes, onions, garlic, and aromatic herbs, all simmered in a rich broth until tender. What sets this apart is the vegan-friendly approach—no dairy or meat needed to create a soup so creamy and satisfying, even non-vegetarians won't miss it.
The result is a smooth, vibrant soup with a deep ruby hue that looks as beautiful as it tastes.
By the time you're done, you'll have a soup that's naturally sweet yet earthy, with a texture that's both silky and comforting. The roasted beets add a subtle caramelized depth, while the potatoes provide that familiar, homey richness.
This is the kind of dish that pairs perfectly with crusty bread or a sprinkle of fresh herbs, turning a simple meal into something memorable.
Store leftovers in the fridge for up to 5 days, or freeze for longer storage—though you might not have any left to save. Here's everything you need to make it happen.
Ingredients for beet and potato soup
Roasted beets, hearty potatoes, and aromatic herbs create this velvety vegan soup that's both earthy and naturally sweet.
| Ingredient | Amount | Notes |
|---|---|---|
| Medium Beets 🍠 | 3 whole | Roasted until tender, peeled |
| Russet Potatoes 🥔 | 3 lb | Peeled, cut into 1-inch cubes |
| Yellow Onion 🧅 | 1 whole | Diced, medium size |
| Garlic Cloves 🧄 | 4 cloves | Peeled, minced |
| Vegetable Broth 💧 | 6 cups | Low-sodium preferred |
| Extra-Virgin Olive Oil 🫒 | ½ cup | For roasting and sautéing |
| Fresh Thyme 🌿 | 2 tbsp | Leaves only, chopped |
| Fresh Parsley 🌿 | ¼ cup | Chopped, for garnish |
| Coconut Milk 🥥 | 1 cup | Full-fat for creaminess |
| Lemon Juice 🍋 | 2 tbsp | Freshly squeezed |
| Salt 🧂 | 1 ½ tsp | Diamond Crystal kosher salt |
| Black Peppercorns 🌶️ | ½ tsp | Freshly ground |
| Maple Syrup 🍯 | 1 tbsp | For subtle sweetness |
| Smoked Paprika 🌶️ | ½ tsp | For depth of flavor |
The beets are the star here, and roasting them first makes all the difference. Look for medium-sized beets—they're easier to peel and cook evenly. If you can't find fresh beets, Trader Joe's or Whole Foods often carry pre-trimmed ones, which saves time. For the potatoes, Russets or Yukon Golds work best—they hold their shape while adding creaminess. I always buy organic when possible, especially for beets, since their skins can be tricky to peel clean otherwise. The key is to roast the beets until they're fork-tender, which caramelizes their natural sugars and gives that deep, earthy-sweet flavor the soup is known for.
No fresh thyme? Dried works at one-third the amount, but fresh has a brightness that dried can't match. The coconut milk adds richness without dairy—full-fat is essential here—and if you're avoiding coconut, cashew cream or silken tofu blended with water works as a neutral substitute. For the broth, low-sodium is a must—you'll be adding plenty of salt later. The smoked paprika adds a subtle smokiness that pairs perfectly with the roasted beets. If you're short on time, pre-chopped onions and garlic from the freezer section at Costco or Kroger can save you minutes without sacrificing flavor. Just make sure to rinse them well to remove any excess ice crystals.
This soup tastes even better the next day as the flavors meld. Store it in the fridge for up to 5 days, covered with a lid or plastic wrap pressed directly on the surface to prevent a skin from forming. For longer storage, freeze portions in airtight containers for up to 3 months. I like to freeze it in individual servings so I can grab a bowl whenever I need a quick, comforting meal. If you end up with leftovers, a sprinkle of fresh parsley and a drizzle of extra-virgin olive oil makes it feel like a fresh batch all over again.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this recipe when I’m too tired to wash extra bowls. Russets and beets roast together in the oven while I chop onions—no stovetop chaos, just hands-off flavor.
- Earthy-Garlic Crunch: That first spoonful of caramelized beets and garlic? It’s like autumn in a bowl. The roasted onions add sweetness, but the garlic? It’s the secret weapon—makes every bite feel like a hug.
- Meal Prep MVP: Between us, this soup tastes better the next day. I make a big batch on Sundays, freeze half, and reheat portions all week—no sad, watery leftovers here.
- Budget Brightener: Fresh beets and potatoes stretch into a whole pot of soup for pennies. Swap store-brand broth, skip the fancy garnishes, and you’ve got a hearty, colorful meal without breaking the bank.
Step-by-step instructions for beet and potato soup
Here's how to create a velvety, earthy-sweet soup where roasted beets and potatoes shine.
Roast the Beets and Potatoes for Depth of Flavor
Preheat your oven to 400°F and line two baking sheets with parchment paper. Toss the 3 whole medium beets and 3 lb russet potatoes (peeled and cut into 1-inch cubes) with 0.25 cup of the extra-virgin olive oil and 0.25 tsp of the salt. Spread them in a single layer on the baking sheets.
Roast for 30-35 minutes until the beets are tender when pierced with a fork and the potatoes are golden brown in spots. The beets should soften completely while developing their signature caramelized sweetness. This roasting step builds the foundation of your soup's complex flavor—don't skip it, even if it adds time to your process.
Build the Aromatic Base with Onion and Garlic
While the vegetables roast, heat 0.25 cup of the extra-virgin olive oil in a large Dutch oven or heavy pot over medium heat. Add the 1 whole yellow onion (diced) and cook for 5-6 minutes until softened and translucent, stirring occasionally.
Add the 4 cloves garlic cloves (minced) and the 0.5 tsp smoked paprika, cooking for another 1 minute until fragrant. This aromatic base forms the flavor backbone of your soup—don't let the garlic burn, as it will turn bitter. The paprika adds subtle smokiness that complements the roasted vegetables beautifully.
Combine Roasted Vegetables with Broth and Seasonings
Once the roasted beets and potatoes are tender, transfer them to your Dutch oven with the onion and garlic mixture. Pour in the 6 cups vegetable broth, scraping up any browned bits from the bottom of the pot. Add the 2 tbsp fresh thyme, 1.5 tsp salt, and 0.5 tsp black peppercorns.
Bring the mixture to a boil, then reduce heat to medium-low and simmer for 15-20 minutes until the flavors meld together. You'll notice the soup developing a rich, earthy aroma as the beets infuse their sweetness into the broth. This simmering step ensures all ingredients are fully integrated and the soup reaches its perfect consistency.
Blend to Silky Perfection and Finish with Creaminess
Use an immersion blender to purée the soup directly in the pot until completely smooth. If you prefer a chunkier texture, blend only half the soup. Stir in the 1 cup coconut milk and 2 tbsp lemon juice to add creaminess and brightness. The coconut milk creates a luxurious mouthfeel while the lemon juice cuts through the richness.
Return the soup to a gentle simmer and stir in the 1 tbsp maple syrup. Taste and adjust seasoning with additional salt if needed. The maple syrup enhances the natural sweetness of the beets while balancing the earthy flavors. This finishing step transforms your soup from good to exceptional.
Garnish and Serve Warm
Ladle the soup into bowls and garnish each serving with 1 tbsp chopped fresh parsley. The parsley adds a fresh, bright contrast to the rich, earthy flavors. Serve immediately while hot, as the flavors continue to develop as the soup cools slightly.
This soup tastes even better the next day as the flavors deepen, making it perfect for meal prep. The combination of roasted beets and potatoes creates a naturally sweet, velvety soup that's both comforting and sophisticated—ideal for cozy evenings or elegant gatherings.
Pro Tips For Making Beet And Potato Soup
- PEEL BEETS AFTER COOKING: I learned this the hard way—raw beets stain like war paint. Roast or boil them whole with skins on, then slip them out after cooking. The skins peel off effortlessly, and you avoid turning your cutting board into a crime scene.
- SIMMER POTATOES UNTIL TENDER: Russets need patience—don’t rush them. Test after 15 minutes with a fork; they should pierce like butter. Overcooked potatoes turn to mush, but undercooked ones leave you with a mouthful of grit. Low and slow wins every time.
- SAUTÉ ONIONS UNTIL CARAMELIZED: Skip the quick brown and regret it. Let those onions melt into deep amber—about 10 minutes—before adding garlic. The sweetness balances the earthy beets, and the flavor jumps from "good" to "can’t-stop-eating." (Yes, even if you’re impatient like me.)
- BLITZ BROTH WITH IMMERSION BLENDER: This isn’t the prettiest method, but it’s the tastiest. Pulse the hot soup until silky, then adjust seasoning. No straining, no lumps, and the texture goes from rustic to restaurant-quality. (Your future self will thank you.)
Wine and beer pairings for beet and potato soup
Earthy Red Wine
A bold Pinot Noir from Oregon or Syrah from the Rhône Valley complements this soup beautifully. The earthy, slightly smoky notes of these wines mirror the roasted beets and smoked paprika, while their moderate tannins won’t overpower the creamy texture.
I reach for a 2019 Domaine Serene Pinot Noir—its bright acidity and red fruit flavors cut through the richness without competing. 🍷
Crisp White Wine
For a lighter option, try a dry Riesling or German Spätlese—their citrus and mineral notes enhance the soup’s natural sweetness. A 2022 Dr. Loosen Blue Slate Riesling from the Mosel region pairs perfectly, with its peach and honeyed undertones balancing the beets’ earthiness.
The wine’s slight sweetness also complements the maple syrup, creating a harmonious match.
Hoppy Beer Pairing
A Belgian-style witbier like Hoegaarden or Stella Artois adds a refreshing contrast with its corianander and orange peel notes. The beer’s effervescence cleanses your palate between spoonfuls, while its light maltiness complements the potatoes.
For a bolder option, a session IPA with citrusy hops (like New Belgium Fat Tire) works surprisingly well, especially if you’ve added a touch of lemon juice to the soup. 🍺
Creamy Stout Option
If you prefer something richer, a dry stout like Guinness or Samuel Smith’s Oatmeal Stout adds a toasted malt depth that enhances the roasted flavors. The stout’s roasted barley notes echo the caramelized beets, while its creamy texture mirrors the coconut milk.
This pairing is ideal for cozy winter evenings when you want a heartier match.
Non-Alcoholic Match
For a refreshing non-alcoholic option, try sparkling apple cider like Martinelli’s or a ginger beer like Feather’s. The bright acidity of apple cider cuts through the soup’s richness, while the spicy kick of ginger beer adds a lively contrast.
Serve chilled for the best experience—it’s a crowd-pleaser at gatherings where alcohol isn’t an option. 🍎
Nutrition facts
Frequently asked questions
Can I use canned beets instead of fresh?
Yes, but with a few adjustments. Drain and rinse 1 (15 oz) can of sliced beets and skip the roasting step. Add them directly to the pot with the potatoes during the simmering phase. They'll be less sweet since they're pre-cooked, so you may want to add an extra ½ tbsp maple syrup to balance the flavor.
How do I make this soup creamier without dairy?
For extra richness beyond coconut milk, blend ½ cup soaked cashews with 1 cup warm vegetable broth until smooth, then stir into the finished soup. Alternatively, add 2 tbsp nutritional yeast for a cheesy, umami depth. Both options create a velvety texture while keeping it vegan.
Why does my soup taste bitter?
Bitterness usually comes from overcooked beets or burned garlic. Roast beets until fork-tender (30-35 minutes), not mushy. When sautéing garlic, keep heat at medium—it should smell fragrant, not acrid. A splash of lemon juice or 1 tsp apple cider vinegar can also brighten the flavor.
Can I make this soup in an Instant Pot?
Roast the beets and potatoes first as directed. Sauté onions and garlic in the Instant Pot, then add all ingredients except coconut milk. Cook on High Pressure for 8 minutes, then quick-release. Stir in coconut milk and blend until smooth. The pressure cooker reduces simmering time significantly.
What's the best way to reheat leftovers?
Gently reheat on the stovetop over low heat with a splash of water or broth to prevent skin formation. Avoid microwaving—it can make the soup watery. For best texture, reheat just until warm (2-3 minutes) and stir in a pat of vegan butter or extra coconut milk if needed.
