Soups & Stews
This vegan beet and cabbage borscht soup delivers a rich, earthy-sweet velout that balances vibrant flavors with creamy depth—no dairy needed. The secret lies in slow-simmered beets and cabbage, transformed into a velvety broth with just a touch of plant-based cream for that signature velout texture.
I’ve perfected this recipe to capture the soul of Eastern European tradition while keeping it approachable for home cooks.
The beauty of borscht is its versatility—this version starts with a deep, creamy base from roasted beets and fermented elements for tangy brightness. A crisp celery crown adds a satisfying crunch, while a dollop of vegan sour cream ties everything together.
What makes this stand out is the balance: sweet from the beets, earthy from the cabbage, and a subtle sourness that keeps it from being too heavy.
By the time you’re done, you’ll have a soup that’s restaurant-quality at home—deeply flavorful, comforting, and packed with nutrients. The slow simmer develops layers of taste, while the crisp celery crown adds a modern twist that elevates the classic.
It’s the kind of dish that warms you up from the inside out, perfect for chilly days or when you crave something hearty yet healthy.
Serve with a side of crusty bread to soak up every last drop of that velvety broth. The best part? This recipe is self-contained—from ingredient prep to plating—so you can focus on enjoying the process. Let’s get cooking!
Ingredients for beet and cabbage borscht soup
Earthy beets, crisp cabbage, and velvety cashew cream—this borscht delivers restaurant-quality comfort.
| Ingredient | Amount | Notes |
|---|---|---|
| Fresh Beets 🍠 | 2 lbs | Medium-sized, peeled and chopped |
| Green Cabbage 🥬 | 1 small head | Core removed, chopped |
| Yellow Onion 🧅 | 1 large | Chopped, about 1.5 cups |
| Russet Potatoes 🥔 | 2 medium | Peeled and cubed |
| Carrots 🥕 | 3 medium | Peeled and sliced |
| Celery Stalks 🧅 | 4 whole | For crisp crowns |
| Fresh Garlic Cloves 🧄 | 4 cloves | Minced for depth |
| Tomato Paste 🍅 | ½ cup | For umami richness |
| Apple Cider Vinegar 🍏 | 2 tbsp | For tangy brightness |
| Vegetable Broth 💧 | 6 cups | Low-sodium preferred |
| Raw Cashews 🥜 | ½ cup | Soaked for creaminess |
| Lemon Juice 🍋 | 1 tbsp | Freshly squeezed |
| Salt 🧂 | 1 ½ tsp | Adjust to taste |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Dried Dill 🌿 | 1 tsp | Or 1 tbsp fresh |
The beets are the soul of this soup—organic from Whole Foods if you can find them, but regular store beets work too. Look for vibrant color (deep red with no bruises) and firm texture. I usually grab 2 lbs to account for trimming and chopping. The cabbage should be crisp and heavy for its size—green or purple works, but avoid wilted leaves. For the celery crowns, use thick stalks from the middle of the bunch—they hold their shape best. If you're in a pinch, Trader Joe's has pre-cut celery crowns that save time.
No fresh dill? Dried works at one-third the amount, but fresh is ideal for that bright flavor. Short on cashews? Silken tofu blended with water gives a similar creamy texture—just add an extra splash of lemon juice. The apple cider vinegar can be swapped for white vinegar or lemon juice, but cider vinegar adds a subtle sweetness. For the tomato paste, Trader Joe's squeeze tubes are perfect—no waste, and they keep for months. If you're making this ahead, roast the beets and store them separately—they taste even better the next day.
This soup tastes even better the next day—3-4 days in the fridge with the celery crowns added fresh before serving. Freezes beautifully for up to 3 months—just thaw overnight in the fridge. I always make a double batch because it reheats so well. For extra richness, add a splash of vegan sour cream when serving. Store the broth separately if you want to use it for other recipes—it's packed with flavor.
Why You'll Love This Recipe
- No Chopping Chaos: I swear by this—just quarter the beets, halve the onion, and slice the cabbage into wedges (no fancy cuts). The potatoes and carrots go in whole until tender, so you’re basically prepping while the soup works its magic.
- Earthy Sweet Crunch: That deep beet color? It’s not just pretty—it’s packed with natural sweetness that balances the cabbage’s sharp bite. Add a splash of vinegar at the end, and you’ve got a perfect tangy-sweet harmony that’s ridiculously satisfying.
- Leftover Goldmine: This soup actually tastes better the next day. I make a big batch on Sundays, and by Wednesday, the flavors have melded into something richer. Freeze half if you’re not a fan of leftovers—it reheats like a dream.
- Budget-Friendly Powerhouse: Fresh beets and cabbage stretch across multiple meals, and the potatoes and carrots are pantry staples. Honestly, I’ve fed four people for under $10 with this recipe, and no one complains about the taste.
Step-by-step instructions for beet and cabbage borscht soup
Here's how to create a velvety, earthy-sweet borscht with crisp celery crowns and a creamy cashew finish.
🍳 Step 1: Sauté the Vegetable Base
Heat a large Dutch oven over medium heat and add the chopped yellow onion and minced garlic cloves. Cook for 3-4 minutes until the onion becomes translucent and the garlic releases its aroma. This foundational cooking step builds flavor without browning.
Add the peeled and sliced carrots and peeled and cubed russet potatoes to the pot. Stir to combine with the onions, then pour in the 6 cups vegetable broth. Bring the mixture to a gentle boil, then reduce heat to medium-low and let it simmer for 10 minutes to allow the vegetables to begin softening. The broth should maintain a gentle bubble—this ensures even cooking without scorching.
🍳 Step 2: Cook the Beets and Cabbage
Add the chopped fresh beets and chopped green cabbage to the simmering broth. Stir gently to distribute the vegetables evenly. Increase heat to medium-high and bring the mixture back to a boil, then reduce heat to medium-low again. Let it simmer for 20-25 minutes until the beets and cabbage are tender when pierced with a fork.
Here's the thing—don't rush this step. The beets should soften completely, but not break apart. If the soup reduces too much before the vegetables are tender, add a splash of water to maintain the proper consistency. The cabbage should also be soft but still hold its shape slightly, contributing to the soup's texture.
🍳 Step 3: Build the Creamy Velout
While the vegetables cook, prepare the cashew cream by soaking the ½ cup raw cashews in ½ cup hot vegetable broth for 10 minutes. Drain and discard the soaking liquid, then blend the cashews with the 1 tablespoon lemon juice until smooth. This creates a rich, dairy-free cream that's the secret to this borscht's luxurious texture.
After the beets and cabbage are tender, stir in the ½ cup tomato paste and 2 tablespoons apple cider vinegar. Cook for another 5 minutes to let the tomato paste deepen in flavor. Then, reduce the heat to low and slowly stir in the cashew cream. The soup should thicken slightly as it incorporates the cream, creating that signature velout consistency. Taste and adjust seasoning with 1.5 teaspoons salt and ½ teaspoon black pepper.
🥘 Step 4: Prepare the Crisp Celery Crowns
While the soup simmers, prepare the celery crowns by cutting off the leafy tops from the 4 whole celery stalks. Trim the bottoms to create flat surfaces, then place them on a baking sheet. Drizzle lightly with olive oil and sprinkle with a pinch of salt. Bake at 400°F for 10-12 minutes until the edges are golden brown and crispy. These crowns add a delightful textural contrast to the creamy soup.
Real talk: the celery crowns should be crisp, not soggy. If they soften too quickly, return them to the oven for another minute or two. The contrast between the crisp celery and the velvety soup is what makes this dish truly special.
🍽️ Step 5: Finish and Serve
Once the celery crowns are ready, stir the 1 teaspoon dried dill into the soup and let it steep for 2 minutes to infuse the flavor. Ladle the borscht into bowls, placing one crisp celery crown on top of each serving. The earthy-sweet beets, cabbage, and carrots create a hearty base, while the cashew cream adds richness and the celery crowns provide a satisfying crunch.
This borscht is best enjoyed warm, so serve it immediately. Each spoonful delivers a perfect balance of flavors—sweet beets, tangy vinegar, creamy cashew, and the fresh herbal note of dill. The crisp celery crowns add a textural surprise that keeps every bite interesting. Trust me, this is the kind of soup that disappears quickly, so make sure you've got seconds ready!
Pro Tips For Making Beet And Cabbage Borscht Soup
- PEEL BEETS AFTER COOKING: I learned this the hard way—peeling raw beets is a mess, and you’ll lose half the color. Toss whole, unpeeled beets into boiling water (skin-on) for 30-40 minutes, then rub them under cold water—the skins slide right off like magic.
- SWEAT ONIONS AND CARROTS FIRST: Skip the rush to add everything at once. Sauté the onions and carrots in oil over medium heat for 8-10 minutes until they’re soft and golden—this builds flavor before the beets and cabbage even enter the pot. (Yes, even if you’re impatient like me.)
- SHRED CABBAGE FINE AND UNIFORM: Big cabbage chunks turn to mush in borscht. Use a sharp knife or mandoline to slice it into paper-thin shreds—it cooks faster and keeps the texture crisp. If you’re lazy, a food processor works, but pulse just until small, not paste.
- ACIDIFY THE BROTH LAST: Hold off on adding vinegar or lemon juice until the very end. If you add it too early, the beets’ natural sweetness dulls, and the soup tastes flat. A splash at the end brightens everything—just 1 tablespoon of vinegar or juice per bowl does the trick.
Creative variations of these flavors
Fermented Twist
For a tangy depth, swap ½ cup of the vegetable broth with fermented cabbage juice (like sauerkraut juice) or 1 tbsp apple cider vinegar plus 1 tsp miso paste.
The fermentation adds complexity and probiotics, balancing the sweet beets beautifully. I’ve found that Trader Joe’s sauerkraut juice works perfectly—just strain it first to remove solids. 💫
Spiced Winter Version
Add warmth with 1 tsp ground cinnamon and ½ tsp allspice when simmering the beets and cabbage. A pinch of nutmeg and a splash of orange juice (instead of lemon) elevate the flavors for a cozy winter dish.
This version pairs wonderfully with a sprinkle of toasted pumpkin seeds on top for crunch.
Smoky Chipotle Borscht
For a smoky kick, stir in 1 tsp adobo sauce (from canned chipotles) or ½ tsp smoked paprika with the tomato paste. The smokiness complements the earthy beets and adds a modern twist. Garnish with avocado slices and a drizzle of vegan sour cream for a creamy contrast. 🔥
Lighter Summer Borscht
Skip the cashew cream and use ½ cup coconut milk blended with 1 tbsp lemon juice for a lighter texture. Add 1 cup diced cucumber and ¼ cup fresh dill at the end for a refreshing, bright summer soup.
Serve chilled or at room temperature with a sprinkle of toasted sesame seeds for a nutty finish.
Protein-Packed Addition
Boost nutrition with ½ cup cooked lentils or 1 cup shredded chicken (for non-vegan versions). Lentils add fiber and plant-based protein, while chicken keeps the dish hearty.
Stir them in during the final 5 minutes of simmering to retain texture. A sprinkle of fresh parsley brightens up the dish before serving.
Nutrition facts
Frequently asked questions
Can I make this borscht without cashews for the cream?
Silken tofu blended with ½ cup water and 1 tbsp lemon juice makes a great dairy-free alternative. For extra richness, try ½ cup coconut milk blended with 1 tbsp nutritional yeast—it adds a slightly nutty depth that works beautifully. The key is achieving a smooth, creamy texture to mimic the velout.
How do I prevent the beets from bleeding too much into the broth?
Roast the beets first at 400°F for 30-40 minutes before adding them to the soup. This concentrates their flavor and reduces bleeding. Wrap them in foil with a drizzle of olive oil and a pinch of salt. When they're fork-tender, simply chop them and add to the simmering broth—they'll hold their shape better and infuse flavor without turning the broth pink.
What's the best way to store leftovers?
Store the soup (without celery crowns) in an airtight container in the fridge for 3-4 days. The celery crowns should be added fresh when reheating. For freezing, portion the soup into containers and freeze for up to 3 months. Thaw overnight in the fridge—never microwave directly from frozen. The flavors actually deepen after refrigeration, making it taste even better the next day!
Can I use frozen cabbage instead of fresh?
Yes, but with a few adjustments. Thaw the frozen cabbage first, then chop it. Frozen cabbage tends to be more watery, so you may need to simmer it for 5-10 minutes longer to reduce excess moisture. For best results, use ½ the amount of broth (about 4 cups instead of 6 cups) since frozen veggies already contain water from the freezing process.
What makes this borscht vegan-friendly?
This recipe skips traditional dairy while delivering rich creaminess through cashew cream instead of sour cream. The broth is made with vegetable broth, and all other ingredients are plant-based. The tangy brightness comes from apple cider vinegar and lemon juice rather than dairy-based sour elements. Even the crisp celery crowns are prepared without butter or animal fats.
