Vegetarian Borscht Soup Recipe
Published · Updated
A deep red vegetarian borscht with beets, cabbage and potatoes, soured with vinegar and finished with raw garlic and fresh dill.
Jump To Recipe
Why I Love Making Vegetarian Borscht
There’s just something special about a steaming bowl of borscht after a long day. The combination of sweet, earthy beets and hearty vegetables makes this soup deeply flavorful and satisfying without feeling heavy.
Making vegetarian borscht reminds me why I appreciate classic dishes that let ingredients shine. You get vibrant colors, complex flavors, and a real sense of comfort with every spoonful.
A big bonus is how customizable this soup is. I often swap in different root vegetables or toss in some bell pepper or zucchini when I want a change. And don’t skip the sour cream or fresh dill. They really take the borscht to another level.
My favorite ways to enjoy borscht:
- With a thick slice of crusty bread for dunking
- Reheated the next day, when it has had a night to pull itself together
- Paired with a light salad for a complete meal
The best part is, it holds up well in the fridge, so making a big batch means I’ve got satisfying lunches for days.
The story
Borscht Was Sour Long Before It Was Red
The word borscht is older than the beet in it. It comes from the Proto-Slavic name for a plant rather than a soup: common hogweed, Heracleum sphondylium, a coarse roadside umbellifer that early Slavic cooks fermented into a sour, cloudy broth somewhere between sauerkraut and weak beer. That was borscht. There was no beet in it, and there would not be one for centuries.
Red beetroot did not spread through Eastern Europe until around the 16th century, and by 1806 a Polish-German dictionary was defining barszcz flatly as a tart soup made from pickled beetroot. The beet had replaced the hogweed, but it had been hired for the same job. It arrived already soured, as kvas buriakovyi, beet sour: raw beets left in water for a few days until lactic fermentation turned the liquid sharp and blood dark.
So the vinegar in this recipe is not a brightener you can leave out. It is standing in for a ferment. A borscht that tastes only sweet and earthy has not been underseasoned, it has been made without the thing the dish is named after. Sourness is the constant here. The beet is the variable.
The meatless version has its own name and its own calendar. Ukrainians call it pisnyi borshch, lenten borscht, and it is not a modern adaptation made for vegetarians. At Sviata Vecheria, the Christmas Eve supper, borscht is meatless by rule: built on mushroom broth, given body with white beans, and served without a spoonful of sour cream anywhere near it. Cooking borscht without meat puts you inside the tradition rather than at the edge of it.
In July 2022 UNESCO inscribed the culture of Ukrainian borscht cooking on its List of Intangible Cultural Heritage in Need of Urgent Safeguarding, through an emergency procedure prompted by the war. Note what was listed: not a recipe, but the practice of handing a version down a family, and the fact that no two of those versions agree.
What to buy
Ingredient Notes
Beets
Small to medium and firm, with taut skin. Big beets out of long storage turn fibrous at the core and no amount of simmering softens those threads. Grate on the large holes of a box grater; fine shreds dissolve into the broth and you lose the texture that makes borscht a soup you chew. Avoid the vacuum-packed cooked beets near the salad bags, which are usually already steeped in vinegar and sugar.
White wine or cider vinegar
The ingredient the dish is named for, so treat the 2 tablespoons as a starting point rather than a measurement. Household vinegars run from 4 to 7 percent acidity and beets vary in sweetness by season, so the last adjustment happens at the stove with a spoon. Balsamic is too sweet and muddies the color. Lemon juice substitutes; sauerkraut brine substitutes better, being the lactic ferment the vinegar is imitating.
Tomato paste
Concentrated paste from a tube or a small tin, not passata. It only delivers savory depth if you fry it, which is why it goes into the skillet with the beets instead of into the pot. Stirred straight into liquid it keeps a raw, tinny edge that stays in the finished soup. Single concentrate wants closer to 3 tablespoons.
Green cabbage
Plain white or green head cabbage, shredded thin. Savoy is too soft and falls apart in the ten minutes it needs. Red cabbage looks like a color match but leaches purple and takes twice as long to soften. Roughly a quarter of a medium head gives the 200 g here.
Garlic
Raw, minced, stirred in off the heat at the very end. Garlic simmered in the pot turns sweet and rounded and does something else entirely; this finish is meant to keep an edge. Garlic powder is not a stand-in for this particular use.
Fresh dill
Not decoration on a borscht but one of the flavors people are looking for, and it has to be fresh. Dried dill loses the anise note and tastes faintly of hay. Hold some back for the bowls, since dill stirred into a hot pot fades within minutes. Parsley is a stand-in, not an equivalent.
White beans (optional)
The standard lenten answer to the body a meat broth would otherwise supply, and where most of the protein in the bowl comes from. Cannellini or navy, canned, drained and rinsed well, because the starchy canning liquid clouds the soup. Beans cooked from dried are better still, and their cooking water can replace some of the broth.

Vegetarian Borscht Soup
Ukrainian beet soup built the traditional way: the beets are stewed apart with vinegar and tomato so the bowl stays deep red, then raw garlic and dill go in off the heat.
Ingredients
Equipment
As an Amazon Associate I earn from qualifying purchases, at no extra cost to you.
Instructions
- 1
Grate the beets and prep
Peel the beets and carrots and grate them on the large holes of a box grater or in a food processor. Finely chop the onion, peel and dice the potatoes into 1 cm (½ inch) cubes, and shred the cabbage. Grate the beets last, they stain everything they touch.

- 2
Start the potatoes
Bring the vegetable broth to a boil in a large pot. Add the diced potatoes and the bay leaves, drop to a steady simmer and cook for 10 minutes.

- 3
Soften the onion and carrot
While the potatoes cook, heat the oil in a large skillet over medium heat. Add the onion and cook for 4 minutes until soft and translucent, then stir in the grated carrot and cook for 3 minutes more.

- 4
Stew the beets with the vinegar
Add the grated beets, tomato paste, vinegar and sugar to the skillet, stir to coat and spoon in a ladleful of broth from the pot. Cover and stew over low heat for 15 minutes, until the beets are tender and the mixture is a deep glossy red. The vinegar belongs here rather than in the soup, because acid holds the beet pigment together.

- 5
Add the cabbage and beans
Add the shredded cabbage, and the beans if you are using them, to the pot with the potatoes. Simmer for 10 minutes, until the cabbage is tender but still has some bite to it.

- 6
Combine, then finish off the heat
Scrape the beet mixture into the pot, stir, and simmer for 5 minutes and no longer. Take the pot off the heat, fish out the bay leaves, and stir in the garlic and the dill. Season with salt and pepper, then taste: it should read sour first and sweet second. Add vinegar a teaspoon at a time until it does.

- 7
Let it stand, then serve
Cover and leave the borscht alone for 10 minutes before serving. It settles, and the raw garlic loses its edge. Ladle into bowls and add a spoonful of sour cream and a little more dill.

Notes
No vinegar in the house: 2 tablespoons of lemon juice works, and 3 tablespoons of sauerkraut brine works better, being closer to the fermented beet sour the dish was originally built on.
For a deeper broth without meat, soak 15 g (½ oz) dried porcini in the hot broth for 20 minutes before you start, then chop them and add them with the potatoes.
It is vegan as written. The sour cream is a serving option, not an ingredient.
Nutrition Facts
6 servings · 530 g per serving
- Calories
- 245 kcal
% Daily Value*
- Total Fat
- 5.2 g7%
- Saturated Fat
- 0.6 g3%
- Sodium
- 1264 mg55%
- Total Carbohydrate
- 43.1 g16%
- Dietary Fiber
- 8.8 g31%
- Sugars
- 12 g—
- Protein
- 8.7 g17%
Recipe from veggierecipes.blog
When it goes wrong
Troubleshooting
My borscht turned brown instead of red
The color comes from betanin, and betanin is destroyed by sustained heat. Boil grated beets in the pot for 30 or 40 minutes, which is what most short recipes tell you to do, and you get a brown-orange soup with the flavor intact and the point missing. Acid and time out of the pot are what protect it, which is why the beets here stew on their own and only join the soup for the last five minutes. To rescue a faded pot: grate one raw beet, simmer it two minutes in a splash of water with a teaspoon of vinegar, and stir it in off the heat.
It tastes sweet and earthy and somehow flat
Not enough acid, which is the most common thing wrong with a borscht made outside Eastern Europe. Beets, carrot and onion are all sweet, and with nothing pulling against them the soup reads like a mild vegetable stew. Season with vinegar the way you season with salt: a teaspoon at a time, off the heat, tasting between each. You want sour arriving first and sweet second. Most people stop one teaspoon short.
The cabbage went gray and slippery
It was in the pot too long. Cabbage needs about ten minutes to go tender, and it starts breaking down and smelling sulfurous well before the half hour older recipes give it. Add it after the potatoes have had their head start, and stop while it still offers some resistance. It keeps softening in the residual heat and again on reheating.
The potatoes never went soft
Acid firms the pectin in potato cells and can hold them at half-cooked more or less indefinitely. If the vinegar, tomato paste or beets reached the pot before the potatoes were tender, they may never get there. This is the second reason the beet mixture stays in the skillet, and the reason the potatoes simmer in plain broth first. Once it has happened there is no fix.
The color faded again when I reheated it
Reheating repeats the original damage, because betanin does not care whether it is being boiled for the first time or the third. Warm leftovers to just under a simmer and never back to a rolling boil. A teaspoon of vinegar in the reheated pot lifts the color and the taste together, since they go flat together.
It tastes thin, like vegetables in water
A meat borscht takes its body from the stock and a vegetarian one has to find it elsewhere. Three things do that work: frying the tomato paste until it darkens, adding the beans, and leaving the soup overnight. Dried porcini soaked in the broth are the strongest single fix and are traditional in the Christmas Eve version. Salt matters too; an undersalted borscht reads as watery before it reads as bland.
Before you serve
Serving & Storage
In Ukraine the standard partner is pampushky: small, soft yeast rolls baked in a tear-apart cluster and brushed while hot with crushed raw garlic, oil and salt. They are built for dunking, and they double the garlic note the soup ends on. Good dark rye is the everyday alternative and does the same work.
Sour cream goes on at the table rather than in the pot, so everyone decides how much pink they want. Ukrainian smetana is thicker and less sharp than most supermarket sour cream, and a thick unsweetened plant yogurt covers a vegan bowl. The Christmas Eve version goes without any of it, since the fast rules out dairy, and it is worth trying that way once to find out how much the soup carries alone.
Serve it hot but not scalding; straight off the stove the sourness is blunted and the dill has not opened up. A sharply dressed salad is the wrong thing beside it, because the soup is already the acidic item on the table. Buckwheat, boiled potatoes with dill, or just the bread suit it better.
Making it ahead
Borscht improves overnight, which is rare enough among soups to be worth planning around. Cook it through, cool it fast by standing the pot in cold water, and refrigerate; by the next day the vinegar has stopped being a separate sharp thing. If color matters more than convenience, split the job instead: make the broth, potatoes and cabbage a day ahead, and cook the beet mixture fresh before serving.
Storing leftovers
Four to five days in the fridge, covered. Reheat gently, to steaming and no further, since a rolling boil takes another bite out of the color every time. Expect to add a little vinegar and some fresh dill before serving, because both fade in storage while the sweetness of the beets does not. It thickens as it sits, so loosen it with broth.
Freezing it, and when not to
About three months, but be honest about which part you are freezing. Broth, beets, cabbage and beans come back fine. The potatoes do not: freezing ruptures their cells and they thaw mealy and faintly grainy, which is obvious in a soup this thin. If a batch is heading for the freezer, leave the potatoes out and boil fresh ones into it on the day. And never freeze it with sour cream already stirred in, because it splits on thawing and no amount of whisking brings it back.
Still wondering
Frequently Asked Questions
Is vegetarian borscht healthy?
A serving of this comes to about 245 calories with 8.8 g of fiber and 8.7 g of protein, most of the protein coming from the beans, so it holds up as a main course rather than a starter. The figure to watch is sodium, at roughly 1,264 mg a serving, and almost all of that is the vegetable broth rather than the vegetables. Using a low-sodium broth and salting the pot yourself at the end cuts it by more than half and costs nothing in flavor.
Can I double this for a crowd?
Yes, with one adjustment. Double everything in the pot without thinking about it, but cook the beet mixture in two batches or a wider pan, because a doubled quantity in the same skillet steams instead of stewing and comes out pale. Scale the vinegar to 3 tablespoons rather than 4 and taste up from there; acidity does not need to double the way volume does.
Can I make it in a slow cooker or an Instant Pot?
Partly. The base works: broth, potatoes, cabbage and beans on high pressure for 5 minutes, or 4 hours on low in a slow cooker. The beet mixture still needs a skillet, because the whole method rests on stewing the beets apart with acid and adding them at the end. Cook the beets in the machine along with everything else and you will get a brown soup, whichever appliance you used.
Featured In
More Earthy and Hearty Vegetable Soups
Made this?






