Ukraine · Europe

Ukrainian Borscht Recipe with Meat: A Hearty Classic

Updated November 3, 2026

Total time
2 hr 48 min
prep 30 min · cook 2 hr 18 min
Serves
8
portions as written
Safe temperature (USDA)
145°F / 63°C
check the thickest piece
Cuisine
Ukraine
Europe

Jump to recipe

Ukrainian Borscht Recipe with Meat: A Hearty Classic

Ukrainian borscht is a beet-based soup, often made with cabbage, potatoes, and meat, and served hot with dill and sour cream. This version uses tender beef and a tangy beet-and-tomato mixture for a deep color and balanced flavor; family and regional recipes vary, so it is one inviting way to make it rather than the only version.

Ingredients

  • 2 lb (900 g) beef chuck, cut into 1¼-inch (3 cm) cubes
  • 10 cups (2.4 L) cold water
  • 2 teaspoons (10 g) fine salt, plus more to taste
  • 2 dried bay leaves
  • ½ teaspoon (1 g) whole black peppercorns
  • 3 medium beets, peeled and cut into thin matchsticks or grated (about 1 lb / 450 g)
  • 2 tablespoons (30 ml) neutral oil, divided
  • 1 medium yellow onion, finely diced (about 1 cup / 150 g)
  • 2 medium carrots, peeled and grated (about 1 cup / 120 g)
  • 2 tablespoons (30 g) tomato paste
  • 2 tablespoons (30 ml) red wine vinegar or apple cider vinegar, divided
  • 1 teaspoon (4 g) granulated sugar, optional
  • 2 medium Yukon Gold or russet potatoes, peeled and cut into ½-inch (1 cm) cubes (about 12 oz / 340 g)
  • ½ small green cabbage, cored and thinly sliced (about 1 lb / 450 g)
  • 3 garlic cloves, finely minced (about 1 tablespoon / 9 g)
  • ½ teaspoon (1 g) freshly ground black pepper, or to taste
  • ½ cup (15 g) finely chopped fresh dill, divided
  • 2 tablespoons (30 ml) lemon juice, or to taste
  • Sour cream, for serving (about ½ cup / 120 g)

Instructions

  1. Prepare the vegetables. Peel and cut the beets, onion, carrots, potatoes, and cabbage before you start cooking; the soup comes together more smoothly when everything is ready. Keep the potatoes in a bowl of cold water if they are cut well ahead, then drain them before adding. Cut the beef into similar-sized pieces so it cooks evenly.
  2. Start the beef broth. Put the beef, cold water, salt, bay leaves, and peppercorns in a large, heavy soup pot. Bring it to a boil over medium-high heat, about 10 minutes, skimming off the gray foam that gathers on top. Reduce the heat to low so the broth barely simmers, cover partially, and cook for 1 hour 25 minutes. A hard boil can make the broth cloudy and the meat less tender, so look for occasional small bubbles rather than vigorous movement.
  3. Check and rest the beef. Check a thick piece with a food thermometer; USDA FSIS lists 145°F (63°C) with a 3-minute rest as the safe minimum for whole cuts of beef. The meat will usually be cooked well beyond that point by the time it is tender. Lift it onto a plate and let it rest for 3 minutes. Remove and discard the bay leaves and peppercorns if you can find them. If the beef is not tender, return it to the pot and simmer a little longer before continuing.
  4. Cook the beet mixture. While the beef rests, heat 1 tablespoon (15 ml) oil in a large skillet over medium heat. Add the onion and carrot and cook for about 5 minutes, stirring, until softened but not browned. Add the remaining oil, beets, tomato paste, 1 tablespoon (15 ml) vinegar, and the optional sugar. Stir and cook for 5 minutes, then add ½ cup (120 ml) of broth from the pot. Cover and simmer gently for 10 minutes, until the beets are starting to soften. This tangy, tomato-rich mixture seasons the soup and helps the beets retain their vivid color.
  5. Simmer the potatoes and cabbage. Add the potatoes and sliced cabbage to the broth. Bring the pot back to a gentle simmer and cook uncovered for 15 minutes, or until the potatoes are easily pierced with a knife and the cabbage is tender but still has a little texture. If the pot is bubbling too strongly, turn the heat down; boiling hard can break up the potatoes.
  6. Combine and season. Stir the beet mixture into the pot. Add the rested beef and any juices from the plate, the garlic, black pepper, and half the dill. Simmer gently for 5 minutes so the flavors come together. Stir in the remaining vinegar and lemon juice, then taste and adjust with salt, pepper, or a little more acidity. The broth should taste savory, lightly sweet from the vegetables, and pleasantly tangy—not sharply sour.
  7. Rest briefly and serve. Turn off the heat and let the soup stand for a few minutes while you set out bowls and garnishes. Divide the borscht among bowls and finish with the remaining dill and a spoonful of sour cream. If the soup seems thick after standing, stir in a small splash of hot water or broth.

Tips

  • Choose a gentle simmer. Beef chuck has connective tissue that softens with slow cooking. Keep the liquid just below a full boil and allow extra simmering time if the cubes are still chewy; tenderness matters more than the clock.
  • Keep the beet color bright. Vinegar goes into the beet mixture before it joins the soup, and lemon or more vinegar can be added at the end. Add extra acid gradually, tasting as you go. Too much at once can overwhelm the earthy beet and beef flavors.
  • Use a practical beet substitute if needed. Fresh beets give this soup its characteristic earthy sweetness and color. If they are unavailable, use about 2 cups (300 g) drained, pre-cooked beets, grate them, and stir them into the beet mixture near the end of its 10-minute simmer so they warm without turning mushy. The result is milder and may be less vivid.
  • Adjust the thickness thoughtfully. Cabbage and potatoes continue absorbing broth as the soup sits. Add hot water or unsalted beef broth a little at a time if it becomes too thick, then taste again for salt and acidity. Avoid adding extra salt before thinning, since it can make the finished soup taste bland.

Serving Suggestions

Serve borscht hot in deep bowls with a generous spoonful of sour cream and a scattering of fresh dill. The cool, creamy garnish contrasts with the tangy broth, but it is easy to leave it off or serve it at the table for guests to add themselves. Rye bread, dark wheat bread, or another sturdy loaf is useful for dipping and makes the meal more substantial. Keep the bread simple so it does not compete with the beets and broth.

For a fuller table, serve the soup as a first course before roasted vegetables or a straightforward meat dish. If it is the main meal, offer bread, sliced cucumbers, or a crisp cabbage salad alongside. The soup is filling, so modest portions of sides are usually enough. Put extra dill, sour cream, and a small dish of vinegar on the table so each person can adjust the bowl to taste.

Variations

Try another cut of meat. Bone-in beef shank or short ribs can add a fuller broth, but the cooking time may be longer; simmer until the meat is tender and check its temperature as directed. Pork shoulder is another option and gives the soup a different, slightly sweeter character. If using ground meat, brown it thoroughly in the pot first; USDA FSIS recommends a safe minimum internal temperature of 160°F (71°C) for ground meat.

Make a meatless pot. Replace the beef and water with 10 cups (2.4 L) vegetable broth, and add one 15-ounce (425 g) can of drained white beans or kidney beans for substance. Add the beans with the beet mixture so they heat through without breaking apart. The soup will have a lighter, vegetable-forward flavor and will not have the same beefy broth.

Change the seasoning or vegetables. Some home versions include a small amount of celery root, parsnip, or bell pepper with the onion and carrot. Use a modest quantity so the beets remain central. A spoonful of tomato sauce can replace tomato paste, though the mixture will be looser and less concentrated. Fresh parsley can stand in for some of the dill, but dill gives the bowl a more distinctive herbal finish.

Storage and Reheating

Cool the soup promptly and refrigerate it within 2 hours of cooking. Divide a large pot into shallow containers so it cools more quickly, and keep the sour cream separate until serving. Refrigerated borscht keeps for 3 to 4 days. Its flavor often becomes more integrated overnight, though the potatoes and cabbage will soften a little as they sit.

Reheat only the amount you plan to eat in a saucepan over medium heat, stirring occasionally, until it is steaming throughout and reaches 165°F (74°C), the USDA FSIS safe temperature for leftovers. Avoid repeatedly cooling and reheating the whole pot; portioning makes that easier to prevent. Add a splash of water or broth if the soup has thickened, then taste for seasoning again.

For longer storage, freeze the cooled soup in airtight, freezer-safe containers, leaving a little room for expansion. It is best used within about 2 to 3 months for quality. Thaw it in the refrigerator, then reheat to 165°F (74°C). Potatoes can become softer after freezing, but the soup remains suitable for a comforting meal. Do not store it at room temperature or use home canning for this recipe.

Frequently Asked Questions

Can I make Ukrainian borscht a day ahead?

Yes. Cool and refrigerate it within 2 hours, then reheat the next day to 165°F (74°C). The broth and vegetables have time to mingle, so the flavor may taste more rounded. Keep sour cream and fresh dill out of the pot until serving, and add a little water or broth if the soup has thickened in the refrigerator.

Why did my borscht lose its bright red color?

Beets naturally deepen in color as they cook, and a long, vigorous boil can make the soup look duller. Cooking the beets with a little vinegar or lemon helps preserve their bright hue. For best color and texture, simmer gently, add the beet mixture after the potatoes and cabbage have nearly cooked, and avoid prolonged boiling after combining everything.

Can I use cooked or canned beets?

Yes. Use about 2 cups (300 g) of drained, cooked beets in place of the fresh beets. Grate them and add them near the end of the beet-mixture step, just long enough to warm through. Canned beets may already contain salt or vinegar, so taste the soup before adding the full amount of salt and finishing acid.

What should I do if the beef is still tough?

Keep simmering it gently in the broth and check again every 10 to 15 minutes. Chuck becomes tender as its connective tissue softens, and different pieces can take different amounts of time. If the vegetables are already cooked, lift them out with a slotted spoon before extending the meat’s cooking time, then return them to the pot to warm through.

Can I make the soup without cabbage?

Yes, although cabbage is a familiar part of many Ukrainian borscht recipes and contributes sweetness and texture. Leave it out for a lighter soup, or replace it with an equal volume of thinly sliced savoy cabbage. Add more potato only if you want a thicker bowl, and adjust the broth and seasoning after the vegetables soften.

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