Classic Ukrainian Red Borscht Beet Soup Recipe, Step by Step

Updated November 3, 2026

Total time
2 hr 10 min
prep 30 min · cook 1 hr 40 min
Serves
6
portions as written
Safe temperature (USDA)
145°F / 63°C
check the thickest piece

Jump to recipe

Classic Ukrainian Red Borscht Beet Soup Recipe, Step by Step

Classic Ukrainian red borscht is a hearty beet soup, often made with beef, cabbage, potatoes, and a gently tangy broth. This version builds flavor by simmering beef for a savory base and cooking the beets with a little vinegar to help keep their color bright; it is served hot, usually with sour cream and fresh dill. Borscht varies by region and household, so this is one traditional-style approach, not the only way to make it.

Ingredients

  • 1 lb (450 g) beef chuck, cut into 1-inch (2.5 cm) cubes
  • 10 cups (2.4 L) cold water
  • 1 medium yellow onion, about 5 oz (140 g), peeled and halved
  • 1 bay leaf
  • 1½ teaspoons (9 g) fine salt, plus more to taste
  • 5 whole black peppercorns (about 1 g), optional
  • 2 medium beets, about 12 oz (350 g) total, peeled and coarsely grated
  • 2 medium carrots, about 5 oz (150 g) total, peeled and grated
  • 2 tablespoons (30 ml) neutral oil
  • 2 tablespoons (32 g) tomato paste
  • 1 tablespoon (15 ml) apple cider vinegar or white wine vinegar
  • 1 teaspoon (4 g) granulated sugar, optional, to balance the acidity
  • 2 medium potatoes, about 10½ oz (300 g) total, peeled and cut into ½-inch (1 cm) cubes
  • 4 cups (280 g) thinly sliced green cabbage
  • 2 garlic cloves, about 6 g, finely grated or minced
  • ¼ teaspoon (0.5 g) ground black pepper, plus more to taste
  • ½ cup (120 g) sour cream, for serving
  • ¼ cup (10 g) chopped fresh dill, for serving

Instructions

  1. Prepare the ingredients. Cut the beef into even cubes, grate the beets and carrots, cube the potatoes, and slice the cabbage. Keep the vegetables separate so they can be added at the right time. Halve the onion; one half flavors the broth and the other will be cooked with the beets and carrots.
  2. Start the beef broth. Put the beef and cold water in a large, heavy pot. Bring it just to a boil over medium-high heat, about 10 minutes, skimming off foam that rises to the surface. Add the onion half, bay leaf, salt, and optional peppercorns. Lower the heat until the liquid barely simmers, partially cover, and cook for 60 minutes. Avoid a rolling boil, which can make the broth cloudy and the beef tougher.
  3. Cook the beet mixture while the beef simmers. Heat the oil in a wide skillet over medium heat. Finely chop the remaining onion half and cook it with the grated carrots for 4 minutes, stirring often. Add the beets and cook for 8 minutes, stirring occasionally. Stir in the tomato paste and cook for 2 minutes. Add the vinegar, sugar if using, and about ½ cup (120 ml) of broth from the pot. Stir until the mixture is moist and evenly coated, then turn off the heat. This skillet step takes about 15 minutes and can happen during the beef’s simmer.
  4. Add the potatoes. After the beef has simmered for 60 minutes, fish out and discard the onion half and bay leaf. Add the potatoes to the pot and simmer gently for 12 minutes, or until they are nearly tender when pierced with a knife.
  5. Finish the soup. Add the sliced cabbage and all of the beet mixture to the pot. Stir in the garlic and ground black pepper. Simmer gently for 10 minutes, until the cabbage is tender but still has a little texture. The beef should be very tender. Check the center of the largest piece with a food thermometer: USDA FSIS lists 145°F (63°C), followed by a 3-minute rest, as the safe minimum for whole cuts of beef. Remove the beef to a plate for at least 3 minutes before shredding any larger pieces, then return it to the soup.
  6. Season and rest briefly. Turn off the heat and taste the broth. Add salt or pepper as needed; if it tastes too sweet or earthy, add vinegar a teaspoon at a time. Let the pot stand for 8 minutes before serving. This short rest lets the flavors settle without requiring an extra long wait.

Tips

  • Keep the simmer gentle. A quiet simmer extracts flavor from the beef while keeping the broth clearer than a hard boil. If the surface is bubbling vigorously, lower the heat and partially cover the pot.
  • Grate the beets for an even soup. Coarsely grated beets soften quickly and distribute their color through the broth. For a chunkier texture, cut them into thin matchsticks, but allow a few extra minutes of cooking if they remain firm.
  • Use a practical vinegar substitute. Apple cider or white wine vinegar gives the broth a clean, gentle tang. If you only have lemon juice, use it a little at a time near the end; it brightens the soup but gives a slightly different citrus note. Tomato paste adds depth, so don’t omit it without replacing that savory element.
  • Adjust the balance at the end. Beets vary in sweetness, and cabbage can taste stronger or milder depending on the season. Taste before adding extra sugar or vinegar, and change the seasoning in small amounts rather than trying to correct the whole pot at once.

Serving Suggestions

Ladle the borscht into warm bowls and top each serving with a spoonful of sour cream and a scattering of fresh dill. The cream softens the soup’s tang and creates a pleasing contrast with its red broth. Offer rye bread, dark bread, or crusty bread alongside for dipping; a simple slice of bread is also useful for catching the vegetables and tender beef at the bottom of the bowl.

For a fuller meal, serve the soup with boiled or roasted potatoes on the side, or add a small plate of pickles. If serving a group, put the sour cream and dill on the table so everyone can add as much as they like. Borscht is satisfying as a main-course soup, but smaller portions also work well before a simple meal.

Variations

Make it without beef: Leave out the beef and use 10 cups (2.4 L) vegetable broth or water. For a more filling meatless pot, add 1½ cups (250 g) drained cooked white beans when you add the cabbage. The broth will be lighter and less meaty, but the beet, cabbage, and tomato flavors still make a complete soup.

Use another beef cut: Beef shank or short ribs can replace chuck, but pieces with bones may take longer to become tender. Simmer until tender rather than relying only on the clock, then remove the bones before serving. A leaner cut can cook faster but may be less succulent after a long simmer.

Make it more or less tangy: Keep the vinegar for a classic bright edge, or reduce it to 2 teaspoons (10 ml) for a milder broth. Some cooks add a little more vinegar at the table instead. If you enjoy a deeper tomato flavor, increase the tomato paste to 3 tablespoons (48 g), but taste before adding extra sugar.

Change the texture: For a rustic soup, cut the beets and carrots into thin strips instead of grating them. For a thicker bowl, mash a few cooked potato cubes against the side of the pot and stir them back in. Avoid blending the whole soup if you want to keep the characteristic pieces of cabbage and beef.

Storage and Reheating

Refrigerate the soup within 2 hours of cooking, storing it in a covered container. It keeps for 3–4 days in the refrigerator. The beet flavor often becomes more pronounced after a night in the fridge, and the broth may deepen in color. Store sour cream and fresh dill separately and add them only when serving.

To reheat a portion, warm it gently in a saucepan over medium-low heat, stirring now and then, until steaming throughout. For food safety, reheat leftovers to 165°F (74°C); check the center with a food thermometer, especially when warming a large amount. Add a splash of water if the broth has thickened. You can also freeze cooled soup in airtight, freezer-safe containers for up to 3 months for best quality. Leave a little room at the top for expansion, thaw in the refrigerator, and reheat thoroughly. Potatoes may soften after freezing, but the soup will still be usable.

Frequently Asked Questions

Can I make borscht ahead?
Yes. Make the soup a day ahead, cool it promptly, and refrigerate it covered. Reheat it until it reaches 165°F (74°C), then add fresh dill and sour cream when you serve it. If making it well in advance, freeze portions rather than keeping the cooked soup refrigerated beyond 3–4 days.

Why did my borscht lose its bright red color?
Beets can turn a duller color if they are cooked for a long time in an alkaline or very vigorous boil. Cooking grated beets with vinegar and tomato paste helps preserve a vivid red tone, and a gentle simmer is preferable to a hard boil. The exact color still varies with the beets themselves.

Can I use precooked or canned beets?
Yes, though the flavor and texture will be different from fresh beets. Drain canned beets well, or use plain cooked beets without added seasoning. Stir them into the soup with the cabbage and cook just long enough to heat through; prolonged simmering can make them soft and may give the broth a less fresh beet flavor.

Do I have to peel the beets and potatoes?
Peeling gives this soup a smooth, traditional texture and keeps the broth free of loose skins. If using clean, thin-skinned potatoes, you can leave their skins on for a more rustic bowl. Beet skins are usually tougher, so peel them before grating or cutting.

What can I use instead of fresh dill?
Fresh parsley makes a mild, practical garnish if dill is unavailable, although it lacks dill’s distinctive aroma. Dried dill can be stirred into the pot sparingly, but it is more concentrated and does not provide the same fresh finish. Start with 1 teaspoon (about 1 g), taste, and add more only if needed.

Is Ukrainian borscht always made with meat?
No. Beef-based versions are common, but meatless borscht and many other regional or family variations are also part of the dish’s broad tradition. This recipe uses beef for a savory broth; the variation above explains how to leave it out and add beans for substance.

Related

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).