Ukrainian borscht is a beet-based soup from Ukraine, commonly made with cabbage, potatoes and a tangy finish, then served hot with dill and sour cream. Recipes vary by region and family; this meatless version uses beans for substance and a separate beet sauté to build a vivid color and balanced sweet-sour flavor.
Ingredients
- 2 tablespoons (30 ml) neutral oil, such as sunflower or canola oil
- 1 medium yellow onion, finely diced, about 1 cup (150 g)
- 2 medium carrots, peeled and grated, about 1½ cups (150 g)
- 3 medium raw red beets, peeled and coarsely grated, about 3 cups (450 g)
- 2 tablespoons (30 g) tomato paste
- 1 tablespoon (15 ml) red wine vinegar, plus more to taste
- 2 garlic cloves, minced, about 2 teaspoons (6 g)
- 8 cups (1.9 L) vegetable broth, preferably low-sodium
- 2 medium Yukon Gold or russet potatoes, peeled and cut into ½-inch (1 cm) cubes, about 2 cups (350 g)
- 4 packed cups (300 g) thinly sliced green cabbage
- 1 can white beans, 15 ounces (425 g), drained and rinsed, about 1½ cups (240 g)
- 2 bay leaves (about 1 g)
- 1 teaspoon (6 g) fine salt, plus more to taste
- ½ teaspoon (1 g) freshly ground black pepper
- 1 teaspoon (4 g) sugar, optional, to round out especially sharp or earthy beets
- 2 tablespoons (8 g) chopped fresh dill, plus extra for serving
- ½ cup (120 g) sour cream, for serving, optional
Instructions
- Prepare the vegetables. Peel and grate the beets and carrots, dice the onion, mince the garlic, cube the potatoes and slice the cabbage. Rinse and drain the beans. Grating the beets rather than cutting them into large chunks helps them soften quickly and spread their color through the soup. Wear an apron or use gloves if you want to avoid beet stains on your hands and clothes.
- Start the soup base. Heat the oil in a large, heavy pot or Dutch oven over medium heat. Add the onion and carrots and cook for 8 minutes, stirring every minute or two, until the onion is soft and translucent and the carrots have begun to relax. Lower the heat if the onion starts browning; the goal is a gentle sweetness, not a dark, caramelized base.
- Add the broth and vegetables. Stir in the potatoes, cabbage, bay leaves, salt, pepper and vegetable broth. Bring the pot to a simmer, which should take about 7 minutes, then reduce the heat so the liquid bubbles gently. Simmer for 17 minutes, stirring once or twice. The potatoes should be nearly tender and the cabbage softened but still recognizable. Avoid a hard boil, which can break up the potatoes and make the soup less clear.
- Cook the beets while the soup simmers. As soon as the soup begins its 17-minute simmer, warm a skillet over medium heat. Add the grated beets, tomato paste, vinegar and ¼ cup (60 ml) water. Cook for 12 minutes, stirring often, until the beets are tender but not mushy and the mixture smells sweet and tangy. Add a splash of water if the skillet becomes dry before the beets soften. This separate step helps the beets keep their color and gives the soup a rounded, savory taste.
- Combine and finish. Scrape the beet mixture into the soup, then stir in the rinsed beans and garlic. Simmer gently for 8 minutes so the flavors come together and the beans heat through. Remove and discard the bay leaves. Stir in the dill and optional sugar, then taste the broth. Add more salt, pepper or vinegar a little at a time; the finished soup should taste earthy and savory, with enough acidity to keep the beet sweetness from feeling heavy.
- Let the soup settle, then serve. Turn off the heat and leave the pot uncovered for 5 minutes. This short rest lets the flavors settle without making the vegetables overly soft. Ladle into bowls and finish with sour cream and extra dill if desired. Borscht is enjoyable right away, but its flavor often becomes more unified after an overnight chill.
Tips
- Choose firm, fresh beets. Medium beets are easier to grate and tend to cook more evenly than very large, woody ones. If your beets are unusually sweet, begin with the listed vinegar and add a little more at the end. If they are particularly earthy or mild, a small extra pinch of salt can make their flavor more pronounced.
- Keep the color bright. The vinegar in the beet skillet helps preserve a vivid red tone while adding the characteristic tang. Add the beets after the potatoes and cabbage have had time to soften rather than boiling everything together from the start. A long, vigorous boil can dull the color and leave the vegetables overcooked.
- Use broth that is not too salty. Store-bought vegetable broth varies considerably. Low-sodium broth gives you room to season at the end, especially because beans and sour cream can change how salty the finished bowl tastes. If using salted broth, start with less than the listed salt and adjust once the soup is finished.
- Make it without a grater if needed. Cut the beets and carrots into thin matchsticks with a sharp knife. They may take a few minutes longer to soften, so check for tenderness before adding them to the pot. Avoid adding a large quantity of raw beet directly to the broth, since it can take longer to cook and may give the soup a more pronounced raw-earth flavor.
Serving Suggestions
Serve borscht hot in deep bowls with a spoonful of sour cream and a generous scattering of fresh dill. The cool, creamy topping softens the soup’s acidity, while dill adds a fresh herbal note. For a dairy-free bowl, leave off the sour cream or use an unsweetened plant-based alternative; the soup itself is already meatless and dairy-free.
Rye bread, dark whole-grain bread or simple sourdough makes a useful accompaniment for soaking up the broth. Garlic bread or pampushky, Ukrainian-style garlic rolls, are also traditional companions in many settings. If you are serving the soup as a main course, offer bread and a crisp cucumber or cabbage salad alongside it. As a starter, pour smaller portions and keep the topping simple so the soup remains the focus.
Variations
Use beans that are easy to find. White beans keep this version mild and creamy, but kidney beans or borlotti beans work too. For a more traditional flavor in some Ukrainian households, try dried or cooked cranberry beans if available; they bring a slightly nutty taste. A can of beans is a convenient substitute for beans cooked from scratch and does not require soaking.
Make a meat-based version. Borscht is made with many combinations of meat and vegetables, and there is no single recipe followed by every Ukrainian cook. To adapt this recipe, use beef broth and add about 1 pound (450 g) of bone-in beef chuck or short ribs to the broth at the start. Simmer the meat until tender, which will take longer than the meatless version, remove it to discard bones and shred it, then return the meat to the pot. Check whole cuts of beef with a food thermometer: the USDA FSIS safe minimum is 145°F (63°C) followed by a 3-minute rest. For a recipe with a shorter cook time, keep the beans and vegetable broth as written.
Add a fermented tang. Beet kvass, a fermented beet drink used in some borscht recipes, can be difficult to find. Replace up to ½ cup (120 ml) of the broth with beet kvass, if you have it, and reduce the vinegar slightly; kvass adds a deeper fermented tang. Otherwise, red wine vinegar is a practical, readily available substitute. A little sauerkraut or its brine can also add acidity, though it makes the soup saltier and more cabbage-forward.
Adjust the vegetables to your pantry. Celery root or a small piece of parsnip can replace some of the carrot for a more savory, less sweet base. You can omit the cabbage, but it contributes familiar texture and mild sweetness. If using savoy cabbage, slice it thinly and check it a few minutes early because its leaves may soften faster than firm green cabbage.
Storage and Reheating
Cool leftovers promptly and refrigerate them within 2 hours of cooking, in a covered container. The soup keeps for 3–4 days in the refrigerator. Store sour cream and fresh dill separately and add them only when serving, so the topping stays fresh and the broth reheats evenly. The color may deepen as the soup sits; that is normal.
Reheat only the portion you plan to eat in a saucepan over medium-low heat, stirring occasionally until steaming throughout, or use a microwave-safe bowl and stir partway through heating. For food safety, leftovers should reach 165°F (74°C) when checked with a food thermometer. If the soup has thickened in the refrigerator, stir in a splash of broth or water as it warms and adjust the seasoning afterward.
To freeze, cool the soup promptly and transfer it to freezer-safe containers, leaving a little room for expansion. Freeze for up to 2–3 months for best quality. Thaw overnight in the refrigerator and reheat as described above. Potatoes can become a little softer after freezing, but the soup will still be flavorful; add fresh dill and sour cream after reheating rather than freezing them in the pot.
Frequently Asked Questions
Is Ukrainian borscht always made with meat?
No. Some versions are simmered with beef or pork, while others are meatless or use beans. This recipe is a meatless version, but its beets, cabbage, potatoes, acidity and dill give it the familiar balance of a hearty borscht. Regional and family recipes vary in ingredients and method.
Can I make borscht ahead?
Yes. Make the soup up to 3–4 days ahead and refrigerate it promptly. The flavors mingle as it rests, so it can taste even more integrated the next day. Reheat it gently to 165°F (74°C), then add fresh dill and sour cream at the table.
Can I use cooked or vacuum-packed beets?
You can, but the result will be softer and may have less of the fresh beet flavor that comes from cooking raw beets with tomato paste and vinegar. Stir chopped or grated cooked beets into the soup near the end, warm them through, and taste carefully before adding the full amount of vinegar.
Why is my borscht not bright red?
Beet color can vary naturally, and prolonged hard boiling may make it less vivid. Cooking the grated beets separately with vinegar, as this recipe directs, helps retain their color. The broth can also look darker after chilling; adding a little fresh dill and a spoonful of sour cream when serving makes the bowl look brighter.
Can I make this soup vegan?
Yes. The soup ingredients are vegan when you choose vegetable broth and a plant-based oil. Simply omit the sour cream or use a plain, unsweetened plant-based topping. Check packaged broth and any alternative topping labels if you need to avoid particular ingredients.
What can I use instead of fresh dill?
Fresh dill is especially good with beets, but chopped parsley can provide a fresh finish if dill is unavailable. Dried dill is more concentrated and less lively: start with about 1 teaspoon (1 g), stir it into the simmering soup, and adjust to taste. Add fresh herbs at the end so their flavor does not disappear during cooking.
More recipes to cook
Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes
Spotted an error? Tell us and we will correct it (corrections policy).