Borscht (Борщ), as you might already know, is a hearty, meaty, beautiful red beet soup originally from Ukraine and also popular in Russia.
It's the perfect warming, cozy winter soup and delicious served with a steamy, freshly baked, crusty sourdough baguette or Russian Borodinsky bread.

Jump to:
What makes this borscht special
What makes this borscht different and ultimately very special is the way you slowly stew it in a heavy cast-iron pot over the fire for 5 hours. If you use chicken or do a meatless version, the cooking time will be around one hour.
This recipe is a little more time-consuming than the average one-pot beet soup, but the result is very rewarding and worlds apart from the quick version.
Ingredients
For the soup...

- Meat - I use oxtail, but you could use any type of beef stewing meat. Otherwise, use chicken or go vegan and omit the meat altogether by using more veggies.
- Vegetables - Beetroot, cabbage, onion and carrot.
- Seasonings - Apple cider vinegar, sugar and salt balance this soup beautifully.
- Extras - Tomato paste and optionally a bay leaf or two.
To finish...

- Sour cream - A must in most Ukrainian and Russian soups. Also called smetana or creme fraiche.
- Herbs - Use whatever soft herbs you like. I prefer dill and parsley.
- Garlic oil - Simply fresh garlic grated into neutral oil.
Instructions

- First, you want to brown the meat nicely, and I do this by grilling it over the fire over hot coals, as you would normally.
- While this is going on, put the beetroot, wrapped in foil, straight over some embers and give it a turn every 10 minutes until it's cooked all the way through. This takes about 45 minutes depending on the size of your beetroot. No fire? You can salt-roast the beets in the oven instead.
- Next, we will set our pot over the fire on medium-high heat and start adding a splash of sunflower oil, grated vegetables and a pinch of salt.
- Fry the vegetables until they have softened slightly but are still raw.
- Add the tomato paste, apple cider vinegar, sugar, meat, and enough water or beef stock to just cover the ingredients. Give it a mix, put a lid on and simmer slowly for about 4 hours or until the oxtail is soft.
- While that is slowly cooking, get together the final touches. Usually, Ukrainian borscht is served with a bit of sour cream on the side, which you then stir in before eating. We will honor that tradition, but we need to elevate the flavors and make sure this borscht is really special. So we make a garlic oil (just crushed garlic and sunflower oil) and prepare a fresh mix of chopped herbs, crunchy fresh spring onion, and freshly ground black pepper.
- When the meat is soft and melts in the mouth, it is time to add the baked beetroot and a bit of raw grated beetroot. The baked beetroot adds a beautiful layer of earthy sweetness to the very rich meaty soup that's been simmered for hours, while gently taking on a very subtle smokiness from the wood fire. The raw grated beetroot also elevates the color to a deep, rich reddish-purple.
- Finally, you need to adjust the seasoning of the borscht. What you want is a nice balance between sweet, sharp and salty. Taste the borscht and adjust to your palate. When you are happy with it, dish up.
- Serve with a generous dollop of sour cream, a bit of garlic oil and a sprinkling of freshly chopped herbs, spring onion, and ground black pepper.
Pro tips when making borscht
- Stock - Use homemade beef stock instead of water for a deeper, beefier broth.
- Meat - Choose stewing beef with good marbling. The fat renders into the broth and makes the soup taste richer.
- Mise en place - Grate, chop, and weigh everything before the pot goes on the heat. Once the vegetables hit the pan, there's no time to prep as you go.
- Seasoning - Balance the soup with sugar, salt, and vinegar right before serving, not earlier. The beets mellow as they cook, so the sweet-sharp-salty balance needs a final check at the end.
- Time - Oxtail and beef shoulder are tough cuts. They need a long, slow simmer of about 4 to 5 hours to break down and turn tender. Rushing the heat toughens the meat instead of softening it.
- Rest - The soup tastes even better the next day, once the flavors have had time to settle. It's one of the better make-ahead dishes for that reason.
Substitutions and variations
- Vegetarian - Leave out the meat and use 2.5 L (about 10.5 cups) vegetable stock in place of the water, with a bit more cabbage and carrot to keep it hearty. The cooking time drops to about 1 hour once the vegetables go in.
- Chicken - Swap the oxtail and beef shoulder for about 700 g (1.5 lb) bone-in chicken thighs and use chicken stock instead of water. Simmer for about 1 hour, until the meat pulls easily from the bone.
- Equipment - Cook this in an Instant Pot or slow cooker instead of over the fire. Pressure cook the meat for about 45 minutes on high, or slow cook on low for 6 to 8 hours, then carry on with the vegetable and beet stages as written.
Serving suggestions
- Bread - Toasted, freshly baked Borodinsky bread or sourdough rubbed with a garlic clove.
- Salted pork fat - Take it one step above delicious and add a few thin slices of salted pork fat or lardo onto the toasted bread. It's the traditional way of serving borscht.
- Drink - A glass of chilled bread kvass, the traditional fermented rye drink served alongside Slavic meals.
- Dessert - Finish the meal with a slice of Russian honey cake.
Storing instructions
Once made, cool it down and store it in an airtight container in the fridge for up to 4 days.
Alternatively, you can portion and freeze it for up to 6 months.
To reheat, simply defrost in the fridge overnight or in the microwave. Bring it to a boil before serving.
Frequently asked questions
Borscht comes from Ukraine, where it's the national dish, though it's loved across Russia and much of Eastern Europe. This version is cooked the traditional Ukrainian way, slowly over a wood fire.
Borscht is built on beetroot, cabbage, carrot, and onion, simmered with a tough cut of beef or oxtail, or left meatless. Tomato paste, sugar, and vinegar balance the earthy sweetness of the beets, and it's finished with sour cream and fresh dill.
Traditionally, this hearty meat borscht is served hot, especially through the colder months. A separate chilled beet soup is eaten in summer, but that's a lighter, different recipe rather than this one served cold.
Regular beet soup is usually a quick puree of beets and stock. Borscht is built around a long-simmered tough cut of meat, balanced with vinegar and sugar for a sweet-sharp edge, and finished with sour cream and dill rather than blended smooth.
Beets fade under long, high heat. Stir a little raw grated beetroot into the pot right at the end, after the baked beetroot goes in, and it brings the deep reddish-purple color straight back.
Related recipes
If you found this post helpful or have learned something, please comment, subscribe, and follow me on social media for more delicious recipes.
Recipe
Borscht (Ukrainian Beet Soup)
Ingredients
For the pot
- 150 g (1.5 cups) beetroot - grated
- 100 g (1 cups) carrots - grated
- 100 g (1 cups) white cabbage - grated
- 100 g (1 cups) white onion - sliced
- 100 g (0.4 cups) tomato paste
- 50 g (3.5 tablespoon) apple cider vinegar
- 20 g (1.5 tablespoon) sugar
- 60 g (0.3 cups) sunflower oil
- 35 g (2 tablespoon) salt
- 2,5 L (10.57 cups) water - or beef stock
For the meat
- 350 g (0.77 lb) oxtail
- 350 g (0.77 lb) beef shoulder
For the beetroot to finish
- 2 medium beetroots - baked in foil then grated
- ½ medium beetroot - raw, finely grated (for color)
To serve
- 250 g (1.0 cups) sour cream
- 2-3 cloves garlic - peeled and minced
- 25 grams sunflower oil - for the garlic oil
- 10 g (1 tablespoon) parsley - chopped
- 10 g (1 tablespoon) dill - chopped
- 40 g (3 tablespoon) spring onion - chopped
- 4 g (1 teaspoon) freshly cracked black pepper
- salt, apple cider vinegar and sugar, to taste
Instructions
- Brown the oxtail and beef shoulder over hot coals, or sear them hard in the pot, until deeply browned on all sides. That color is where a lot of the soup's flavor comes from, so don't rush it.
- Wrap 1½ of the finishing beetroot in foil and set it over the embers, or roast at 200°C / 400°F, turning every 10 minutes until soft all the way through, about 45 minutes. Keep the remaining ½ raw for later, and cool the baked beetroot until you can grate it.
- Set the pot over medium-high heat with the sunflower oil, then add the grated beetroot, carrot, cabbage, sliced onion and a pinch of salt. Fry until softened but still slightly raw, so they hold their texture in the finished soup.
- Stir in the tomato paste and cook it for 1 to 2 minutes until it darkens slightly, then add the apple cider vinegar, sugar and the browned meat. Pour in enough water or beef stock to just cover everything, bring to a gentle simmer, cover, and cook low and slow until the meat is meltingly tender and pulls apart easily, about 4 hours. Top up with liquid if the level drops below the ingredients.
- While the pot simmers, crush or grate the garlic into the 2 tablespoons of sunflower oil and set it aside. Chop the parsley, dill and spring onion and crack the black pepper, so everything is ready to finish the soup.
- When the meat is tender, stir in the grated baked beetroot for earthy sweetness and a subtle smokiness, then stir in the reserved raw grated beetroot, which brings the color back to a deep reddish-purple.
- Taste and balance with salt, apple cider vinegar and sugar until it's evenly sweet, sharp and salty. Ladle into bowls and finish each with a dollop of sour cream, a drizzle of garlic oil and a scatter of chopped herbs, spring onion and black pepper.
Notes
Nutrition
This site contains affiliate links. I may earn a tiny commission on qualifying purchases at no extra cost to you. By bookmarking these links you help support the upkeep of this site.










Pam H says
Also no differentiation between raw and baked beets in printed version, also, says fry vegetables (beets are vegetables), then says add beets after meat is tender.
It sounds very good, but for those of us who don't cook with our phones or computer tabs open at hand, the printable recipe needs quite a bit of tidying up.
Charlé Visser says
Thank you so much for taking the time to point all of this out, Pam — you were spot on, and I've tidied up the printable card so the garlic and its oil are listed, the tomato paste has its own clear step, and the baked and raw beetroot are finally spelled out separately. I really appreciate you helping me make the recipe easier to cook from, and I hope your borscht turns out beautifully.
Emma Grace says
Sincere gratitude for this recipe!!! We have made a vegetarian borscht "pink soup" for years in our Polish/Spanish family, but the oxtail in your borscht recipe makes for a culinary trip to Nirvana and back. Thank you for sharing this recipe!
Lisa says
This is the best borscht recipe I have ever used, I don‘t have a campfire or grill but I roast the beetroot in the oven and it still adds another layer of depth. I’ve made your borscht 5 times now and it is exceptional!
Victor says
My mother always always added potato.
Vic says
My parents were Ukraine. My mother would always add potato. To me potato is as essential as beet, cabbage and definitely meat. Sour cream a must with home grown dill. Home grown beets and cabbage. Mum taught my wife and that's what is on the menu tonight. My wife is a Kiwi with Welsh and Irish ancestry. Loves this soup.
Maria Basch says
Hello again-
How long does this usually need to simmer? Is the garlic and sunflower and herb added at the end of cooking time ?
This is another great recipe- thank you!
Maria
Charlé Visser says
Hi Maria, the sunflower oil, herbs and garlic is just for a little finishing touch added after you already plated the soup so add those just before eating.
If you are using oxtail, make sure the meatvis cooked before you add the baked grated beetroot.
Otherwise it will lose colour and flavour. So, simmering times vary depending on the meat you use.
The key is to make sure the beetroot stays vibrant and fresh and keeps it’s delicate sweet earthy taste by not boiling in the soup.
A little trick to add that fresh beetroot taste and vibrant colour back in, in case your soup has lost its vibrance, is to add some fresh beetroot juice just before serving
Hope that helps!