Traditional Borscht Recipe
Featured Comment
Thank you! This recipe is worth all the effort. Delicious! ~Tamara

As a native Russian, this authentic cabbage soup was a household staple, and it was one of the very first dishes I learned to cook. I had the unique privilege of learning this recipe directly from my mother, a professional chef, who passed down many traditions of Eastern European cuisine to me. After more than 20 years of making it, my family recipe comes down to a few small techniques that make a big difference. The biggest one: how and when you add the beets, so your borscht stays vibrant ruby red.
What I Love About My Borscht Recipe
This soup tastes like my childhood, and it’s still the pot I make when I want real comfort food.
- It’s the recipe my mom taught me. She passed down so many Eastern European traditions to me, and this one has stayed in my kitchen for decades.
- The broth is completely homemade. I sear beef and marrow bones, then simmer them low and slow with bay leaves, coriander, and peppercorns to create the best rich, savory broth.
- The color stays bright. I cook the beets whole and grate them in at the very end to finish the soup, so every bowl comes out that signature deep red.
- It feeds a crowd. One pot makes 10 servings, and I love having leftovers because the flavor gets even better the next day.
- It’s naturally gluten free. Everything in the pot is simple, whole ingredients.
Table of Contents
What is Borscht Soup?
Borscht soup is a traditional Ukrainian soup made with beef, cabbage, beets, and other vegetables. It’s known for the beautiful ruby-red color that comes from adding beets.
The main ingredients that always go into borscht soup are cabbage, beets, and beef. You can change up some other veggies that you put into it. Mushrooms and potatoes could be left out if you wish or just don’t like mushrooms. Try adding leek and parsnips to your soup.
Is Borscht Russian or Ukrainian?
Borscht originated in Ukraine, and in 2022 UNESCO recognized Ukrainian borscht cooking as part of the country’s cultural heritage. It’s also a beloved staple all across Russia and Eastern Europe. I grew up in Russia, where borscht was a household staple, and every family I knew had their own version.
How Do You Pronounce Borscht?
In Russian and Ukrainian, the word is борщ, which sounds closer to “borsch” or “borshch.” There’s no “t” sound at the end. You’ll see it spelled borscht, borsch, and borshch, and they all mean the same soup.

Key Ingredient Notes and Tips
- Beef – it’s best to use “stew beef,” also known as chuck roast. It’s inexpensive, tough, and has lots of marbling and connective tissue. Not a cut that you want to cook quickly, but it’s perfect for slow cooking and very flavorful. You can buy a whole piece and cut it yourself or get a package that’s pre-cut into about 1-inch chunks.
- Marrow Bones – Marrow bones will provide nutrients, more flavor, and richness to the beef broth. I highly recommend that you use them. Make sure to discard them once the stock is cooked.
- Whole Peppercorns and Coriander – Make sure to use whole, not ground spices. If you use ground spices, you can’t strain it out and it will affect the texture of the broth and overall soup.
- Beets: Choose medium beets, about 1.5 pounds total. Look for firm beets with smooth skin.
- Cabbage: Use a small to medium head of green cabbage. If you can only find a large one, use the leftovers to make fried cabbage or colcannon.
- Potatoes: Idaho potatoes, also called russet or baking potatoes, cook up soft and fluffy in the soup.
- Tomato paste: Use paste, not tomato sauce. You want that concentrated, rich flavor.
- Vinegar: Stir in a tablespoon of white vinegar right after the beets to lock in the bright red color and add a light, balancing tang.

Cabbage – Use green cabbage that is small to medium in size. If you could only get a large cabbage, use what you need for soup and you can use the leftovers to quickly make Fried Cabbage or Colcannon.
Potatoes – Idaho potatoes, also known as russet or baking potatoes, are the best ones to use because they cook soft and fluffy.
Tomato Paste – Make sure to use tomato paste and not tomato sauce. Tomato paste is more concentrated, thicker and richer.
Garlic – Use fresh for the best flavor, not pre-minced garlic. Pre-minced garlic often has a very different flavor and aroma from the fresh. You can easily use a garlic press to save time on mincing.
White vinegar (optional): Stir in a tablespoon right after the beets if you’d like a little extra help keeping the color bright. It won’t affect the flavor. I often skip it these days since adding cooked beets at the end preserves the color of the soup.
See the recipe card below for the full list of ingredients and instructions.
My Secret To Bright Red Borscht
There are a couple of tricks you can do to keep the signature bright color of the soup.
- The first one is never to add raw grated beets to the soup. They have to be cooked whole and in skin first. If you try to peel, grate and add uncooked beets to the soup, they will lose their color very quickly. Make sure to add the beets, whole and not peeled, to the pot as you are cooking the stock.
- Once the beets are fully cooked through, they are super easy to peel and you can grate them and add to the soup at the end. Make sure to add them at the very end of cooking.
- Another trick to keep the color of the beets is also to stir in about a tablespoon of white vinegar into the soup right after you add the beets. The acidity will help preserve the color as well.
- To prevent beet stained hands: after years of working with beets, I’ve learned to always wear disposable gloves when handling them, this will prevent your hands from staining red.
- If you did get your hands stained with beets: make a slurry of baking soda and water and scrub your hands. Plastic and wood cutting boards will stain easily, so if you care about how they look, grate them into ceramic plate or right into the soup pot for easiest clean up.
How to Make Borscht Soup

Make the Beef Stock
PRO TIP: If you don’t want to deal with straining and picking the whole spices out of the meat and stock later, you can always tie the spices in cheesecloth so you can easily discard it after.
- Before cooking the meat, I like to go through the pieces and cut out large chunks of fat. They will be very unpleasant to eat in soup. If some chunks are too bug, you can also chop them into smaller, bite-sized pieces. Add the beef and marrow bones to the pre-heated pot with some oil and sear for a few minutes. Remember, that getting a golden sear on the meat will infuse more flavor into the both.
- Next, pour in the water, add bay leaves, coriander and peppercorns, bring to boil and lower the heat to low. Loosely cover the pot with a lid so that steam can escape. Cook on low for 3-4 hours.
- WHEN is the time to add the beets? About halfway through cooking the broth, add the beets to the pot. Cook until done, then take out and set aside.
- When done, strain the beef broth but save the meat for the soup! Discard the herbs and make sure to discard the marrow bones.

Make the Soup
- You can use the same pot to cook the soup, which will make this a one-pot recipe we all love. Prep your veggies and make sure to give the beats time to cool down so you don’t burn yourself later.
- Sauté onions and carrots first over medium heat and I like to make sure to sauté until golden brown. Don’t underestimate the flavor addition of seared meats and veggies, it does make a difference.
- Sauté garlic until fragrant and add in potatoes and mushrooms. Cook for a few minutes, stirring occasionally and add cabbage. You want to cook the veggies until cabbage starts to soften, no need to cook it all the way because it will cook in soup.

- I recommend adding the tomato paste before the stock because you can mix it with veggies and it will incorporate much easier that with broth. To make sure there are no chunks.
- For a more pleasant bite, I always break apart the cooked beef pieces so that we’re not biting into large beef chunks when enjoying the soup. Add the beef and broth to the pot, make sure to add enough to cover the vegetable generously but not too much to make the soup too “watery.”
- Cook the borscht soup over medium heat for about 25-30 minutes and make sure to taste the broth to check if you have enough salt and pepper to your taste.
- Finish it off with beets: while the soup is cooking, peel beets and grate them into the soup using a large cheese grater. Right before the soup is done, stir in the grated beets and then a tablespoon of white vinegar.
PRO TIP: Don’t forget to garnish with sour cream and fresh dill weed for the most authentic experience.

Making Borscht Ahead of Time
I love making borscht a day ahead, since the flavors have time to come together overnight and the broth tastes even deeper on day two. And to simplify the process and save time, I always break down the borscht recipe into two days:
- On the first day, prepare the beef broth and cook the beets. Once done, refrigerate the strained broth in one container, the meat and the cooked beets in separate containers.
- The next day is when I make the soup. And when broth and meat is done, preparing the soup will take less than an hour.
Storing and Reheating Borscht Soup
- Storing: Refrigerate leftovers in an airtight container for up to 5 days. To preserve freshness, always use a clean ladle when serving.
- Freezing: To freeze, first cool the soup completely, then pour it into freezer-safe containers, removing as much air as possible. It can be frozen for up to 2 months. For best results, thaw frozen borscht in the refrigerator overnight.
- Reheating: Gently reheat individual portions on the stovetop over medium-low heat, stirring occasionally until warmed through. Alternatively, you can use a microwave.
PRO TIP: Note that potatoes do tend to break down more when frozen and thawed, so the texture will change slightly.

Ways to Serve Borscht
My favorite way to serve borscht is with a dollop of sour cream stirred into the bowl and a sprinkle of fresh dill.
- Hard boiled eggs: Slice them and add a few pieces to each bowl.
- Bread: Dark rye bread is the classic pairing. Rub a slice with a cut garlic clove for the most traditional bite, or serve a warm baguette or my potato dinner rolls on the side.
- Make it a full meal: Borscht traditionally comes to the table as a first course, followed by a main dish. Serve it with crispy potato pancakes or my creamy Russian mushroom julienne for a true Eastern European dinner.
What are Some Variations of Borscht Soup Recipe?
While classic red borscht is famous, there are many other regional Eastern European variations:
- White Borscht: This version is made without beets, giving it a more pronounced, sour flavor that highlights the cabbage. For a cabbage-forward soup with a lighter, golden broth, make my beef and cabbage soup (shchi).
- Green (Sorrel) Borscht: Another beet-free soup, this variety gets its signature tangy, juicy taste from sorrel, a sour herb that resembles spinach.
- Cold Borscht: This is a completely vegetarian, vegetable-based soup that can be served either cold or warm. It’s not recommended to serve meat-based borscht cold, as the chilled fat becomes unpleasant.
- Sauerkraut: Swap some of the fresh cabbage for sauerkraut to add extra tang.
- Beans: Stir in a can of drained white or kidney beans with the potatoes for more heartiness.
Can I Make This a Vegetarian or Vegan Borscht?
Yes, you can skip the step about cooking beef broth and cook the beats in vegetable broth instead until fork-tender. Make sure to add the recommended spices to the vegetable broth as well. Then, you can follow the steps and instructions for the soup and use the vegetable broth that you used to cook beets.

Borscht Recipe FAQs
Borscht tastes savory, earthy, and slightly sweet. Expect a rich beef broth, a subtle sweetness from the beets, and depth from the tomato paste. Finish each bowl with fresh dill and a spoonful of sour cream.
My borscht is packed with vegetables and protein from the beef and it’s very lean. Beets are high in fiber and an excellent source of folate and vitamins A and K, according to University of Missouri Extension.
Both, depending on the version. Serve this beef borscht hot. Cold borscht is a separate, vegetable-based soup.
Beets lose their color when they cook too long in the soup. Cook them whole first and grate them in at the very end to keep the color bright red.
Yes but beef still needs to be cooked for a long time, until tender, and it will cost ALOT more since you will need to buy the broth. So you are creating your own free broth by simmering beef until very tender with some spices and herb. Plus cooking beets in it will flavor the broth further.
Yes, in a pinch. Precooked, vacuum-packed beets or drained canned beets both work. Grate or dice them and add them at the very end. You will miss out on more flavor though, since the beets cook in broth and favor the broth in my recipe.
More Recipes From Me
- Chicken Kiev
- Easy Creamy Chicken Stroganoff
- Loaded Baked Potato Soup
- Instant Pot Vegetable Beef Soup
- Italian Wedding Soup
- Homemade Chicken Noodle Soup
DID YOU MAKE THIS RECIPE? PLEASE leave a 🌟 star rating! Let me know how you liked it by leaving the 📝 comment below or share and tag me on social media @willcookforsmiles. DON’T FORGET to subscribe to my newsletter!

The BEST Borscht Recipe
Ingredients
Beef stock:
- 2 lbs stew beef
- 1 lb beef bones (marrow bones) optional
- 2.5 quarts water
- 2 large bay leaves
- 1 tbsp coriander
- 1/2 tbsp whole peppercorns
Soup:
- 3 medium beets about 1.5 lbs
- 1 medium yellow onion
- 2 medium carrots
- 1 head of cabbage
- 2 medium Idaho potatoes
- 8 oz baby bella mushrooms
- 4 garlic cloves
- 1/4 cup tomato paste
- 1 tbsp sugar
- Salt
- Fresh cracked black pepper
- 3 tbsp fresh dill weed minced
Topping:
- Sour cream
- Fresh minced dill weed
Instructions
Beef Stock:
- Preheat the pot over medium-high heat. Add a little bit of cooking oil, like avocado, canola, vegetable, etc.
- Cut big, hard chunks of fat off the beef, if any. Add beef and bones to the pot and sear for a couple of minutes.
- Add water to the pot and bring it to simmer.
- Add bay leaves, coriander, and whole peppercorns. Lower the heat to low.
- Loosely cover with a lid (so that there is a good amount of room for steam to escape) and cook for 3-4 hours.
- About half way through of cooking meat, add whole, unpeeled beets to the pot. Cook until done, take out and set aside.
- Strain off the stock and discard bones, bay leaves, coriander, and peppercorns. Set meat and beef aside.
Borscht soup:
- Prepare your veggies: slice onions, mushrooms, and cabbage thinly. Grate carrots on a large grater, and cube potatoes. Peel garlic and set aside. Set whole cooked beets aside to cool.
- Using the same pot, set the heat to medium and add a couple of tablespoons of canola oil to the pot.
- Add onions and carrots and saute until softened. Smash garlic, mince and add to the pot. Stir well.
- Add potatoes and mushrooms. Cook for a few minutes, stirring occasionally.
- Add cabbage, stir and cook until cabbage softens.
- Add tomato paste, sugar, salt, and black pepper. Stir well until tomato paste is evenly mixed.
- Break apart beef and add it to the pot. Stir and start adding stock. Add enough stock to completely cover the veggies. (You can add more if you want more broth.)
- Cook over medium heat for 25-30 minutes. Stir occasionally. Taste to make sure you have enough salt and pepper. Adjust to taste.
- Stir in dill weed.
- Peel beets and grate them into the soup on a large cheese grater. Stir and your soup is ready to eat!
- Garnish with some sour cream and fresh dill weed.
Video
Notes
- Tie Spices For Broth: If you don’t want to deal with straining and picking the whole spices out of the meat and stock later, you can always tie the spices in cheesecloth so you can easily discard it after.
- Wear gloves: Disposable gloves keep your hands from staining while you peel and grate the beets.
- Make ahead: Make the broth and cook the beets a day ahead, then refrigerate them separately. The soup takes under an hour to finish the next day.
- Store: in the refrigerator in airtight containers for 3 to 4 days. Divide large batches into shallow containers so the soup cools quickly.
- Freeze: once the soup cools completely, portion it into freezer-friendly containers or zip-top bags, or freeze it all together in one large container. Press out as much air as you can, then seal, label, and freeze for up to 2 months. Thaw slowly in the refrigerator overnight. Potatoes soften a bit after freezing, so expect a slight change in texture.
- Reheat: on the stovetop over medium-low heat, or individual portions in the microwave.
Nutrition
Originally published on Will Cook For Smiles in March 2012.
Would you like to save this recipe?
All images and text ©Lyubov Brooke for ©Will Cook For Smiles. Please do not use my images without prior permission. If using my posts in collections and features, please link back to this post for the recipe.
Disclaimer: Nutrition information shown is not guaranteed to be 100% accurate as most ingredients and brands have variations.
I left out dill. But it was so yummy
I am so glad you liked it! Thanks for taking the time to let me know! 🙂
Dear Luba,
So delicious! Followed your wonderful recipe but I made it a little bit lazy and used my butcher’s chicken bone broth , canned beets which I diced, maple syrup instead of sugar ,a dash of balsamic vinegar (in addition to white vinegar to retain ruby color of beets, as you suggested!) and towards the end I threw in a handful of Craisins (dried cranberries).
Yum! I’m in my seventies and couldn’t do everything from scratch any longer but
THIS way was perfect!
You’ve put your heart into this borscht recipe and I really appreciate your teaching us!
By the way… just found out that my heritage is Ukranian American … not Russian-
French as the family thought!!!!!!! Go figure.. never too late to learn, eh?!! All the best,
Andrea
Delicious, hearty Soup! I added 1/4 cup white vinegar to the pot like my Polish grandma always did. A dollop of sour cream on each bowl before serving. Will definitely make this recipe again!
I love that you made it your own, and I’m so glad you enjoyed it. Thank you so much for sharing!
This is undoubtably the best Borscht I have ever had. The beats give it a little touch of sweetness. The soup is very rich and savory. To serve, I generally put in a little bit of soy sauce instead of salt.
Thank you so much, this truly means a lot! I’m so glad you loved it. The beets really do add that perfect touch of sweetness. I love your idea of using a little soy sauce instead of salt, such a great way to add depth!
So excited about this recipe!!!
That makes me so happy to hear! I hope you love it as much as we do. Let me know how it turns out!
Thank you! This recipe is worth all the effort. Delicious!
I am so glad you liked the recipe, Tamara!
I made it with sweet Italian sausage as the meat. Out of this world good!
Nice! So glad you liked it!
Wow sounds incredible! I’ve been getting lots of beets in my organic vegetable deliveries and have been looking for new recipes, making this for our Christmas dinner tomorrow! Thanks for sharing
I hope everyone liked it!
Sounds delicious! I’ve been getting lots of beets in my organic vegetable deliveries and have been looking for new recipes, making this for our Christmas dinner tomorrow! Thanks for sharing
This classic Borscht recipe is healthy, nutritious, and comforting soup for colder season.
The way you present it is great. Very beautiful image. I’ve made this multiple times and I love it!
Amazing recipe! very flavorful. Thank you for sharing!
I have just cooked Borscht according to your recipe. It’s very good. Thanks you!
Hi Michael,
I am so happy you enjoyed it! Thanks for letting me know!
love love love! we recently went to russia and were lucky enough to have it there. can’t wait to make it at home too!
Hi, April! I hope you like it! Let me know what you think! 🙂
I have had borsch soup once . I loved it, the folks who made it ( don’t laugh) used beaver meat, tasted like beef. But the soup was amazing. I’m planning on using your receipe soon. I love using fresh ingredients so I better go shopping. Thank you so much
Stop naming Ukrainian traditional dish as a russian! Here is a big difference between those two countries. If U used to call it russian it doesn’t mean that it’s russian
The first mention of borscht was among the ancient Romans.
Cabbage and beets were brought to the Slavs, since they are not native to eastern Europe!
Therefore, the assertion that borsch is a “Ukrainian dish” can be considered if not a figment of imagination, then it’s already an inappropriate joke as old as the world.
And, that is pity to see how political abnormalities are sowing discord to the extent of their bad education )))
I’ve never knows the vinegar trick and it totally worked! My soup was beautiful!
Lyubo, I never made Beet Borscht before. I always made the tomato one from my moms recipe. This one is rocking. My husband loves, he too never had the beet with, he loves it. Thank you so much for sharing the recipe.
I. LOVE. THIS. RECIPE.
Thank you, dear Lyuba, for sharing you family’s own recipe for borscht. I came down with a cold over the weekend and everybody reminded me to eat/drink hot soup! Coincidentally, we had nearly everything on hand to make this recipe. Go ahead and laugh, just don’t kill me, but I substituted beans for beef — we are a vegetarian/vegan household here.
I now have my head immersed in a large bowl of very delicious steaming hot borscht, thanks to you, and I feel so much better already!!
Thank you for your kind words, Richard! I love hearing that you liked it so much! 🙂
Hi, I’m just back from St. Petersburg (Russia) where i tasted the BEST borst… it contained beets, onions, meat, potatoes (small-diced), cabbage and small-diced TOMATOES instead of tomato paste and dill.
What’s your opinion on using tomatoes instead of tomato paste?
Why would you leave out mushrooms to make it more healthy? Mushrooms are good for you.
HI, Chad! I think you miss read that. I said “Sometimes, I add mushrooms, which I love, sometimes I make it slightly healthier and leave out potatoes.” I sometimes leave out the potatoes to make it healthier! Hope you try it! 🙂