Hot Ukrainian Borscht Recipe (With Beets, Beef, Pork, and More)

An omnivore's dream and a classic hearty wintertime soup.

Overhead shot of a bowl of Ukrainian borscht topped with a dollop of sour cream and sprinkling of fresh dill.

Serious Eats / Vicky Wasik

Why It Works

  • Browning the meat and sautéing the aromatics before making the broth leads to deeper, richer flavor.
  • Adding raw beets to the soup instead of roasting them first, as in some recipes, creates a more intense beet-y flavor and color.
  • Ground toasted caraway seeds elevate the sour cream garnish from ordinary to interesting.

Some dishes are extravaganzas of meat, and some are unbridled celebrations of vegetables. And then there's borscht, which is decisively both. That makes it one of the best winter meals in my home, where my wife, Kate, pretty much wants only vegetables, while I often crave at least a little meat (okay, sometimes a lot). Borscht is so chock-full of an exciting array of both that neither of us ever feels deprived.

The borscht I'm talking about here, to be clear, is the hot, sweet-sour Ukrainian style, which, according to Anya von Bremzen in her excellent Russian cookbook, Please to the Table, is so popular in Ukraine's neighboring regions and around the world that it's often misattributed to Russia.

Regardless of its origins, defining exactly what's in the soup is tricky. While countless types of borscht can be found throughout Eastern Europe (and not all of them are red), this one is famous for that deep burgundy color—thanks mostly to beets, but often some tomato as well. Beyond that, cabbage, potatoes, onion, celery root (a.k.a. celeriac), and carrots are common, but plenty of other vegetables and fruits, from apples to bell peppers and beans, can find their way into the pot.

Overhead shot of raw pork belly, beef short ribs, marrow bones, and smoked ham hock on a wooden surface.

Serious Eats / Vicky Wasik

As for the meats, your options are equally varied. My recipe calls for beef short ribs, fresh pork belly, beef marrow bones, and ham hocks (plus some optional kielbasa), but you could use all sorts of long-cooking cuts, like brisket, pork ribs, beef chuck, and shanks. They're all stewing meats that are rich in collagen, a tough connective tissue that breaks down into silky gelatin with heat and time, creating a rich, flavorful broth.

Making borscht starts, then, with simmering those meats—most of which I brown first for a deeper flavor—to tenderize them and make that broth base for the soup. To enhance the flavor even more, it helps to add aromatics to the pot as well, like onion, celery, and carrot. A mix of herbs, including dill, parsley, and bay leaf, contributes more aromatic depth.

Several hours later, when the meat is tender and the broth is ready, I strain it, reserving the meat and marrow bones and throwing out all the aromatics—they'll be cooked to death and flavorless by this time anyway. At this point, you can refrigerate the broth and meats overnight and finish the borscht the next day, or you can continue straight away.

Overhead shot of diced onions, celery, and carrots in the bottom of a stockpot.

Serious Eats / Vicky Wasik

To finish the soup, I sauté a new batch of diced aromatics—onion, celery, carrots, and garlic—in fat until they're tender. You could use vegetable oil here, but you should end up with a generous amount of richly flavored rendered beef and pork fat on the surface of the broth. I skim that off and use some of it for sautéing, then add the broth back to the pot and bring it to a simmer.

I dice the meats, removing and discarding any bones, and add them to the pot. Make sure not to waste the beef marrow bones, either: Push the marrow out of each one, chop it up, and add it to the soup. That's flavor right there.

Next, I load the soup up with even more vegetables, including celery root, parsnips, cabbage, tomatoes, and beets, most of which I cut into dice. I suspect some people will wonder why I opt for dicing, when borscht is often made with shredded or julienned vegetables. My answer is...I like it that way. I find the soup more elegant when much of it is uniformly diced instead of shredded to bits. If you prefer it otherwise, you can run the vegetables through the shredding disk of a food processor.

Peeled roasted beets on wooden cutting board.
Roasted beets create a soup with a milder beet flavor, and a less intense purple hue.

Serious Eats / Vicky Wasik

A lot of recipes have you roast the beets before adding them, which I did early on in my testing; they take a while to cook, so it seemed like a good time-saver to roast them while the broth is simmering. But then a friend asked me why I didn't just cut them up raw and add them to the pot with everything else, and I realized that not only did I not have a good answer, but it seemed like a worthy variable to test.

Diced raw beets on a wooden cutting board.
Diced raw beets result in a more intense beet flavor, and a deeper burgundy color in the broth.

Serious Eats / Vicky Wasik

So I made a subsequent batch in which I peeled the raw beets, cut them up, and added them to the pot with everything else, and I was quickly won over by the results. First, when diced, they cook through as rapidly as all the other vegetables, so the time saved through roasting first wasn't relevant—in retrospect, it's extremely obvious that small cubes of beets will cook much faster than large whole ones. More importantly, the final soup made with un-roasted beets tasted, well, beetier, and had a much deeper purple color—clearly, you lose valuable beet juices and flavor with that initial roasting step.

I love beets and wanted a very beet-forward soup, so using raw beets immediately became my preferred method. If you're not the biggest fan of beets, though, this may be a reason to opt for roasting them first.

Diced red potatoes on wooden cutting board.

Serious Eats / Vicky Wasik

Next, I add diced red potatoes, along with some kielbasa—optional, but it adds a great smoky flavor—then cook it just until the potatoes are done. At this point, the borscht should be so tightly packed full of solid ingredients that you'll be able to stand a spoon up in it.

Wooden spoon standing on end in the middle of a pot full of thick borscht.

Serious Eats / Vicky Wasik

The last step is to balance the final sweet-sour flavor of the soup. Many recipes call for adding a touch of sugar to play up the soup's sweetness, leading to a more intense sweet-sour effect later. I don't do that, though, since I think the vegetables in the soup contribute all the sweetness I want on their own.

For the sourness, I experimented with fermenting my own beets, with the hope that I could add the resulting tart liquid to the pot. That ended up a failure, which I poured down the drain, so I turned to red wine vinegar instead. (This is probably for the best, since I'm guessing most people don't want to have to start their borscht two months ahead of time just to get one ingredient ready.)

How much vinegar you add depends on both how sweet your soup is, with more sweetness requiring more sourness to balance it out, and also on personal preference—do you want just a lightly tart borscht, or one that has a real jolt of acid running through it? I leave it up to you.

No bowl of borscht is complete without some minced fresh dill and a big dollop of sour cream, which I gussy up with ground toasted caraway seeds, a flavor that plays so well with these ingredients.

At this point, if this soup doesn't have something for everyone, I don't know what does.

Overhead shot of two bowls of Ukrainian borscht topped with dollops of sour cream and fresh dill.

Serious Eats / Vicky Wasik

January 2017

Recipe Facts

4.5

(4)

Active: 90 mins
Total: 5 hrs 15 mins
Serves: 10 to 12 servings
Makes: 1 gallon (3.75L)

Rate & Comment

Ingredients

For the Beef Broth:

  • 2 1/4 pounds (1kg) bone-in beef short ribs (see notes)

  • 3/4 pound (340g) fresh pork belly (see notes)

  • Kosher salt and freshly ground black pepper

  • 2 tablespoons (30ml) vegetable oil

  • 1 medium onion, roughly diced (8 ounces; 225g)

  • 2 medium carrots, roughly diced (8 ounces; 225g)

  • 2 celery ribs, roughly diced (4 ounces; 115g)

  • 4 medium cloves garlic, crushed

  • 1 tablespoon (15ml) tomato paste

  • 1 1/4 pounds (575g) beef marrow bones

  • 1 smoked ham hock (about 3/4 pound; 340g)

  • 2 sprigs fresh dill

  • 2 sprigs flat-leaf parsley

  • 1 bay leaf

For the Borscht:

  • 1 large onion, cut into small dice (12 ounces; 340g)

  • 1 medium carrot, cut into small dice (4 ounces; 115g)

  • 1 celery rib, cut into small dice (2 ounces; 55g)

  • 4 medium cloves garlic, minced

  • 1 small celery root (celeriac), peeled and cut into small dice (9 ounces; 255g)

  • 1 medium parsnip, peeled and cut into small dice (6 ounces; 170g)

  • 2 pounds red beets (900g; about 5 medium beets), peeled with a sharp vegetable peeler and cut into small dice

  • 1/2 (12-ounce; 340g) head green or white cabbage, quartered, cored, and shredded

  • 1 (28-ounce; 784g) can peeled whole tomatoes, drained and crushed by hand

  • 4 medium red potatoes (1 pound; 450g), diced

  • 1/4 pound kielbasa (4 ounces; 115g), diced (optional)

  • Red wine vinegar, to taste

  • 1/2 cup (120mlsour cream

  • 1 teaspoon (5g) ground toasted caraway seeds (optional)

  • Minced fresh dill, for garnish

Directions

  1. For the Beef Broth: Season short ribs and pork belly all over with salt and pepper. In a large, heavy-bottomed stockpot, heat oil over medium-high heat until shimmering. Working in batches to avoid crowding the pot, add beef and pork belly and cook, turning, until browned all over, about 5 minutes per side. Transfer meats to a rimmed baking sheet or platter and set aside. Add onion, carrot, celery, and garlic to pot and cook, stirring and scraping up any browned bits, until starting to brown, about 6 minutes.

    Browned pork belly, beef short ribs, marrow bones, and smoked ham hocks on a rimmed baking sheet.

    Serious Eats / Vicky Wasik

  2. Stir in tomato paste and cook for 2 minutes, lowering heat if necessary to prevent scorching. Add 4 quarts (3.75L) water, short ribs, pork belly, marrow bones, ham hock, dill, parsley, and bay leaf and bring to a simmer over medium-high heat. Lower heat to maintain a gentle simmer and cook until meats are tender, about 3 hours.

  3. Strain meat broth, reserving all meats and bones; discard vegetables. You should have about 3 quarts (2.8L) broth. If you have less, add enough water to bring it up to 3 quarts. You can refrigerate broth and meats separately for up to 3 days before continuing with the recipe, or continue immediately.

  4. For the Borscht: Pick bones from short ribs and ham hocks and push marrow from bones. Discard bones. Cut up all broth meats and marrow into small dice and set aside. (If marrow is hot, it won't dice neatly; this is fine.) Skim rendered fat from surface of broth (if broth is cold, the fat will be a solid cap on top); reserve 1/4 cup (60ml) and discard the rest.

  5. In a large, heavy-bottomed stockpot, heat the 1/4 cup reserved fat from broth over medium-high heat until shimmering. Add onion, carrot, celery, and garlic and cook, stirring, until softened, about 5 minutes. Add 3 quarts (2.8L) meat broth and bring to a simmer.

    Meat broth being pouring into a stock pot.

    Serious Eats / Vicky Wasik

  6. Add diced meats to broth, along with celery root, parsnip, beets, cabbage, and tomatoes, and cook until vegetables are tender, about 20 minutes.

    Diced meats, celery root, parsnip, beets, cabbage, and tomatoes simmering in meat broth.

    Serious Eats / Vicky Wasik

    Add potatoes and kielbasa, if using, and cook until potatoes are just tender, about 15 minutes. Season with salt and pepper. Add vinegar until soup hits the perfect balance of sweet and sour to your taste.

    Adding vinegar to finish off borscht.

    Serious Eats / Vicky Wasik

  7. Stir toasted caraway, if using, into sour cream and season lightly with salt. Ladle hot borscht into bowls and top with dollops of caraway sour cream and fresh dill. Serve right away. Remaining soup can be refrigerated for up to 5 days and frozen for up to 3 months.

    Bowls of Ukrainian borscht topped with sour cream and dill.

    Serious Eats / Vicky Wasik

Notes

Feel free to use an equivalent amount of different stewing meats, such as fatty beef brisket, beef chuck, pork ribs, or pork shoulder.

Special Equipment

Large, heavy-bottomed stockpot

Nutrition Facts (per serving)
446 Calories
26g Fat
28g Carbs
27g Protein
Show Full Nutrition Label Hide Full Nutrition Label
×
Nutrition Facts
Servings: 10 to 12
Amount per serving
Calories 446
% Daily Value*
Total Fat 26g 33%
Saturated Fat 11g 53%
Cholesterol 94mg 31%
Sodium 636mg 28%
Total Carbohydrate 28g 10%
Dietary Fiber 5g 19%
Total Sugars 12g
Protein 27g
Vitamin C 33mg 167%
Calcium 93mg 7%
Iron 3mg 18%
Potassium 1097mg 23%
*The % Daily Value (DV) tells you how much a nutrient in a food serving contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.
(Nutrition information is calculated using an ingredient database and should be considered an estimate.)