This post may contain affiliate links. Read my full disclosure policy.
This borscht recipe is a hearty, comforting soup filled with beets and tender vegetables in a savory, ruby-red broth. Serve it with dollop of sour cream and a sprinkle of fresh dill.

Borscht always makes me think of my grandmother, who kept a glass jar of the store-bought kind in the fridge at all times. It was deeply magenta, unapologetically pungent, and—if I’m being honest—not all that appealing! But it was a staple for her and many grandmothers with roots in Eastern Europe, and once you taste a good homemade version, it’s easy to see why.
My Ukrainian-style borscht gets its wonderful flavor from the earthy sweetness of fresh beets, savory beef broth, and just enough vinegar to give it that signature tang. I add the potatoes and carrots partway through cooking so they stay tender without turning mushy. It’s the kind of soup that tastes even better the next day, and I love serving it with crusty rye bread for dipping.
“This is one of the most delicious soups I’ve made in my life and I’m pretty darn old.”
What You’ll Need To Make Borscht

- Beets: Use fresh, raw beets rather than canned or pickled. They give borscht its distinctive earthy sweetness and deep ruby-red color.
- Beef broth: Gives the soup a savory foundation without adding chunks of meat. Although the soup is packed with vegetables, it isn’t vegetarian.
- Cabbage: Green cabbage softens as it simmers but still gives the soup some texture.
- Tomato paste: Adds a little sweetness, acidity, and depth to the broth.
- Potatoes and carrots: Make the soup hearty and satisfying. They’re added partway through cooking so they become tender without falling apart.
- Vinegar: Balances the sweetness of the beets and gives borscht its characteristic tang. Taste before serving and adjust as needed.
- Sour cream and fresh dill: Traditional toppings that add creaminess and freshness to each bowl.
- Jump to the printable recipe for precise measurements
How To Make Borscht
Soften the aromatics: Cook the onions and celery until they’re soft and fragrant, without letting them brown.

Simmer the soup: Stir in the broth, cabbage, beets, tomato paste, bay leaf, and seasoning. Bring to a boil, then cover and reduce the heat to a gentle simmer. Once the beets and cabbage have started to soften, add the potatoes and carrots. Continue simmering until all the vegetables are tender but still hold their shape. Remove the bay leaf and stir in the vinegar. By now, the broth should be a beautiful deep red.




Season and serve: Taste the soup and adjust the seasoning as needed. You should get a nice balance of earthy sweetness and tanginess; if the flavor seems a little flat, add another splash of vinegar. Ladle into bowls and top with sour cream and fresh dill.

Ukrainian Borscht Recipe

Ingredients
- 1 tablespoon olive oil
- 1 medium yellow onion, chopped
- 1 rib celery, finely chopped
- 6 cups beef broth, best quality such as Swanson
- 4 cups (10 oz) (lightly packed) green cabbage, thinly sliced
- 1 lb beets peeled and diced into ¾-in (2-cm) pieces
- ¼ cup tomato paste
- 1 bay leaf
- 1¼ teaspoons salt
- ¼ teaspoon freshly ground black pepper
- 2 large Yukon gold potatoes (about 1 lb/454 g), cubed into ½-in (13-mm) pieces (no need to peel)
- 2 medium carrots, diced into ½-in (13-mm) pieces
- 1 tablespoon distilled white vinegar
- Sour cream, for serving
- 2 tablespoons fresh chopped dill, for serving
Instructions
- Heat the oil in a large soup pot or Dutch oven over medium heat. Add the onion and celery, and cook, stirring occasionally, until the vegetables are softened, 5 to 7 minutes.
- Add the broth, cabbage, beets, tomato paste, bay leaf, salt, and pepper. Bring the mixture to a boil over high heat, then reduce the heat to low, cover, and simmer for 10 minutes. Add the potatoes and carrots, bring back to a boil over high heat, then reduce the heat to low, cover, and cook for about 20 minutes more, or until all the vegetables are tender. Fish out and discard the bay leaves.
- Stir in the vinegar, then taste and adjust seasoning, adding more salt, pepper, or vinegar as needed. Ladle the soup into bowls and top with a generous spoonful of sour cream and a sprinkle of fresh dill.
Notes
- Beets can stain hands, cutting boards, and light-colored towels. I recommend wearing gloves while prepping them and using a plastic or well-worn cutting board. If your board does turn pink, don’t worry—it usually fades with washing, time, or a little sunlight; a quick wipe with diluted vinegar can help too.
- Make-Ahead/Freezing Instructions: Borscht can be made up to 3 days ahead and stored in an airtight container in the refrigerator; the flavor actually improves as it sits. Reheat gently on the stovetop. To freeze, let the soup cool completely, then transfer to freezer-safe containers, leaving a little space at the top for expansion; freeze for up to 3 months. Thaw overnight in the refrigerator and reheat on the stovetop. Add the sour cream and fresh dill only when serving.
Nutrition Information
This website is written and produced for informational purposes only. I am not a certified nutritionist and the nutritional data on this site has not been evaluated or approved by a nutritionist or the Food and Drug Administration. Nutritional information is offered as a courtesy and should not be construed as a guarantee. The data is calculated through an online nutritional calculator, Edamam.com. Although I do my best to provide accurate nutritional information, these figures should be considered estimates only. Varying factors such as product types or brands purchased, natural fluctuations in fresh produce, and the way ingredients are processed change the effective nutritional information in any given recipe. Furthermore, different online calculators provide different results depending on their own nutrition fact sources and algorithms. To obtain the most accurate nutritional information in a given recipe, you should calculate the nutritional information with the actual ingredients used in your recipe, using your preferred nutrition calculator.
Gluten-Free Adaptable Note
To the best of my knowledge, all of the ingredients used in this recipe are gluten-free or widely available in gluten-free versions. There is hidden gluten in many foods; if you’re following a gluten-free diet or cooking for someone with gluten allergies, always read the labels of your ingredients to verify that they are gluten-free.
If you love traditional Jewish soups, be sure to try my matzo ball soup and deli-style mushroom barley soup. Both are hearty, savory, and perfect for chilly days.




So delicious! I didn’t have fresh dill so I sprinkled some dried dill and it was wonderful.
Can borscht be pressure canned?
Hi Laurie, I didn’t develop the recipe with canning in mind, so not sure it would be safe – sorry!
This is fabulous. I have always been morbidly curious about borscht and like many, it just looks scary. Lol. But knowing your recipes are ways delicious I tried this yesterday and was like “where has this been all my life?!” Thank you!
There are many versions of this soup, but I think my Ukrainian mother-in-law’s recipe is the best. Her recipe doesn’t have celery, cabbage, or tomato paste. She uses red potatoes instead of Yukon golds, and white onion instead of yellow. She also includes some of the younger, tender beet tops (greens). I usually dice the potatoes and julienne the beets. We use Better Than Bouillon (beef )+ water for the broth. She says you can use canned broth or beef bones with little meat on them, too, if preferred. At the end, we mix together 1 TAB flour with a little water and add to 1 cup or so of sour cream and the juice of half a lemon… put it all in the pot and simmer 10-15 minutes. Then add fresh dill and taste… may need to add more lemon juice. The soup comes out a beautiful color, like a soft rosey magenta.
If food could be velvet, this would be it. It is liquid velvet. In fact, I think it should be called Velvet Soup. 😋 It is so good, it’s difficult to stop eating it!
FYI: To save time and effort, I tried making it once with those peeled, pre-cooked and packaged beets and it did NOT work! Do not even try this! It must be done the old fashioned way… use raw beets and peel them yourself… it’s SO worth it!