Ukrainian borscht—hot, meaty, and beet-red—is a classic hearty wintertime soup, loaded with tender chunks of beef and pork, plus an amazing array of vegetables, from beets to cabbage and celery root. It's a filling, deeply satisfying bowl of soup, with a sweet-sour finish. This recipe makes a lot, but don't worry: It freezes well, and you'll want it all.
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.
Read more: Hot Ukrainian Borscht Is an Omnivore's Dream
- Yield:Makes about 1 gallon (3.75L)
- Active time: 1 hour 30 minutes
- Total time:5 hours 15 minutes
- For the Beef Broth:
- 2 1/4 pounds (1kg) bone-in beef short ribs (see note)
- 3/4 pound (340g) fresh pork belly (see note)
- 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 (120ml) sour cream
- 1 teaspoon (5g) ground toasted caraway seeds (optional)
- Minced fresh dill, for garnish
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.
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.
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.
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.
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.
Add diced meats to broth, along with celery root, parsnip, beets, cabbage, and tomatoes and cook until vegetables are tender, about 20 minutes. 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.
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.