Ukraine · Europe

Ukrainian Borscht Recipe with Pork and Beets

Updated November 2, 2026

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

Jump to recipe

Ukrainian Borscht Recipe with Pork and Beets

Ukrainian borscht is a beet-based soup from Ukraine, usually served hot with cabbage, potatoes, and a spoonful of sour cream. This version builds a savory broth with tender pork and finishes with vinegar, tomato, and dill for a balanced, vivid bowl; ingredients and methods vary across regions and families.

Ingredients

  • 1½ lb boneless pork shoulder, cut into 1½-inch cubes (680 g)
  • 8 cups water (1.9 L)
  • 1½ teaspoons fine salt, divided (9 g), plus more to taste
  • ½ teaspoon whole black peppercorns (1 g)
  • 1 bay leaf
  • 2 medium beets, peeled and coarsely grated (about 10 oz / 300 g)
  • 2 medium Yukon Gold or russet potatoes, peeled and cut into ½-inch cubes (about 12 oz / 350 g)
  • 4 packed cups thinly sliced green cabbage (about 10 oz / 280 g)
  • 1 medium yellow onion, finely diced (about 5 oz / 150 g)
  • 1 medium carrot, peeled and coarsely grated (about 3½ oz / 100 g)
  • 1 tablespoon neutral oil, such as sunflower or canola oil (15 ml)
  • 2 tablespoons tomato paste (30 g)
  • 1 tablespoon red wine vinegar or apple cider vinegar (15 ml), plus more to taste
  • 2 garlic cloves, finely grated or minced (about 6 g)
  • 1 teaspoon granulated sugar (4 g), optional, to round out the acidity
  • ¼ cup chopped fresh dill (about 10 g)
  • ½ cup sour cream for serving, optional (120 g)

Instructions

  1. Prepare the ingredients. Cut the pork into evenly sized cubes so they cook at a similar pace. Peel and grate the beets and carrot, dice the onion, cube the potatoes, and slice the cabbage into thin ribbons. Measure out the remaining ingredients before you begin; this makes it easier to add the vegetables in stages without overcooking them.
  2. Make the pork broth. Put the pork, water, 1 teaspoon of the salt, peppercorns, and bay leaf in a large heavy pot. Bring the water just to a boil over medium-high heat, skimming off the gray foam that rises to the surface. Reduce the heat to maintain a gentle simmer, partially cover, and cook for 75 minutes. Avoid a hard boil, which can make the broth cloudy and agitate the meat. Check a large pork cube with a food thermometer: the USDA FSIS safe minimum for whole cuts of pork is 145°F (63°C), followed by a 3-minute rest. The cubes should also be fork-tender; if they are not, continue simmering in 10-minute increments. Remove the bay leaf and peppercorns if you can find them.
  3. Start the potatoes and sauté. Stir the potatoes into the simmering broth and cook for 10 minutes. While they cook, warm the oil in a skillet over medium heat. Add the onion and carrot and sauté for 5 to 6 minutes, stirring often, until softened but not browned. This short sauté sweetens the vegetables and gives the soup a fuller flavor without requiring a separate roasting step.
  4. Cook the beets. Add the grated beets and tomato paste to the skillet. Stir and cook for 3 minutes, then add the tablespoon of vinegar and about ½ cup (120 ml) of broth from the pot. Let the mixture bubble gently for 2 to 3 minutes, stirring so the tomato paste dissolves and the beets begin to soften. The vinegar helps keep the beets’ color bright and adds a useful tart note; do not skip it entirely, though you can adjust the amount later.
  5. Add the vegetables to the soup. Scrape the beet mixture into the pot and stir well. Add the cabbage and the remaining ½ teaspoon salt. Bring the soup back to a gentle simmer and cook for 12 minutes, or until the potatoes are tender when pierced with a knife and the cabbage is soft but still has a little structure. Taste a piece of potato before deciding whether it needs more time; potato size and variety can affect how quickly it cooks.
  6. Season and finish. Stir in the garlic, sugar if using, and half of the dill. Simmer for 3 minutes, then taste the broth. Add more salt or vinegar a little at a time until the flavor is savory, lightly sweet, and pleasantly tart rather than sharply sour. If it tastes flat, a small pinch of salt or a teaspoon of vinegar may help; if it is too tangy, add a splash of water or a pinch of sugar.
  7. Rest and serve. Turn off the heat, cover the pot, and let the borscht stand for 10 minutes so the flavors settle. This rest also gives the cooked pork more than the USDA-required 3-minute rest after reaching its safe temperature. Ladle into warm bowls and top with the remaining dill and a spoonful of sour cream, if desired.

Tips

  • Choose a gentle simmer. Small, occasional bubbles are enough. Boiling vigorously can break up the pork and potatoes and make it harder to keep a clear, savory broth.
  • Use fresh beets when possible. Their earthy sweetness is central to the soup. If fresh beets are unavailable, use about 10 ounces (280 g) drained canned beets, grate or finely chop them, and add them near the end with the cabbage. They are already cooked, so the flavor will be softer and less earthy; reduce the simmer time if they begin to break down.
  • Adjust acidity gradually. Vinegar brands and beets vary in sharpness. Start with the recipe amount, taste after the soup rests, and add more in small increments rather than pouring in extra vinegar at once.
  • Keep the vegetables distinct. Cut potatoes evenly and avoid simmering the soup longer than needed after they turn tender. If you want to prep ahead, grate the beets and carrot and slice the cabbage a day in advance, then refrigerate them separately in covered containers.

Serving Suggestions

Serve borscht hot in deep bowls, with a generous spoonful of sour cream and a scattering of fresh dill. The cool cream softens the soup’s acidity, while the dill gives each serving a fresh, herbal finish. Offer dark rye bread, crusty bread, or pampushky—small Ukrainian garlic rolls—alongside the soup to soak up the broth. If serving bread with garlic, keep the topping light so it complements rather than overwhelms the beets.

This soup can be the main course for lunch or dinner because it contains pork, potatoes, and several vegetables. For a larger meal, begin with a modest bowl and serve the bread and any sides separately. Extra dill, sour cream, and vinegar at the table let people tune their own bowls without changing the flavor of the whole pot.

Variations

For a more pronounced pork flavor, use 1½ pounds (680 g) bone-in pork ribs in place of the shoulder. Simmer until the meat is tender, then remove the ribs, pull the meat from the bones, discard the bones, and return the meat to the pot. Rib shape and size can change the cooking time, so use the thermometer and tenderness checks rather than relying only on the clock.

For a meatless pot, leave out the pork and use 8 cups (1.9 L) vegetable broth or water. Add a rinsed 15-ounce (425 g) can of white beans with the cabbage for extra substance. The soup will be lighter and will not have the same pork-rich broth, but the beets, tomato, and dill still make a flavorful borscht. For a slightly sweeter version, use a little more carrot; for a sharper version, finish with extra vinegar at the table.

Some cooks use beans, celery root, or different proportions of cabbage and beets, while others prefer a broth with no tomato paste. If you have celery root, replace up to half of the potato with 1 cup (about 120 g) peeled, diced celery root; it brings a mild, celery-like earthiness. These are useful variations rather than rules: the soup is made in many regional and household styles.

Storage and Reheating

Cool the soup and refrigerate it within 2 hours of cooking. Store it in a covered container in the refrigerator for 3 to 4 days. The beet flavor often becomes more integrated after a night in the fridge, and the soup may thicken as the potatoes absorb broth. Stir in a little water or broth when reheating if you prefer a looser consistency.

Reheat only the portion you plan to serve in a saucepan over medium heat, stirring occasionally, until it is steaming throughout and reaches 165°F (74°C), the USDA safe temperature for leftovers. You can also reheat a serving in the microwave, stirring partway through and checking the temperature in more than one spot. Avoid repeatedly cooling and reheating the whole pot. For longer storage, freeze cooled borscht in meal-size containers for up to 3 months for best quality; leave a little room at the top for expansion and thaw it in the refrigerator before reheating. Sour cream is best added fresh to each bowl, not frozen in the soup.

Frequently Asked Questions

Can I make Ukrainian borscht with pork ahead?
Yes. Make the soup up to 3 days ahead and refrigerate it promptly. The flavors meld as it stands, so it is convenient for preparing lunch or dinner in advance. Reheat the amount you need to 165°F (74°C), then add fresh dill and sour cream just before serving.

Can I use pork loin instead of pork shoulder?
You can, but pork loin is leaner and may become dry or stringy if simmered until very soft. Cut it into similarly sized cubes, check the temperature with a thermometer, and begin checking tenderness before the full 75-minute simmer is up. Shoulder is more forgiving for a long, gentle soup simmer.

Why did my borscht turn a muted brown-red instead of bright red?
Beet variety, cooking time, and the other ingredients all affect the final color. A little vinegar added with the beets helps retain a vivid color, while a long, vigorous boil can dull it. Keep the soup at a gentle simmer and avoid adding much more vinegar than needed; the color can still vary naturally.

Can I use pre-cooked or vacuum-packed beets?
Yes. Use about 10 ounces (280 g), grate them, and stir them into the sautéed onion and carrot with the tomato paste. Since they are already tender, warm them for just a few minutes rather than cooking them as long as raw beets. Their flavor is usually milder, and the soup may have a softer beet character.

How can I keep the potatoes from becoming mushy?
Cut them into even cubes and add them after the pork broth has simmered. Check them after 10 minutes and continue only until a knife passes through easily. Once the potatoes are tender, keep the soup at a low simmer and avoid extended boiling, especially if you plan to store and reheat it later.

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