Ukrainian borscht is a deeply savory and tangy beet soup built on a rich beef and ham hock broth, finished with roasted shredded beets and red wine vinegar. The combination of slow-cooked meat, aromatic spices, and bright acidity creates a balanced, soul-warming dish that improves with time.
Check what you already have. We'll leave it off your shopping list.
21 Ingredients
Powered by
Prices vary by store
*Service fees apply. Instacart® and the Instacart logo are registered trademarks of Maplebear Inc. d/b/a Instacart.
CookOS may earn a commission from Instacart orders.
Instructions
1
In a large casserole combine meats with broth or water, bay leaf, peppercorns and allspice, bring to a boil over high heat, reduce heat to low and simmer, partially covered, skimming frequently, for 2 to 2 1/2 hours. Strain soup, reserving broth and meats separately. Remove meat from the ham hocks, discarding any gristle or bone and cut it into dice. Cut beef into cubes. Return meat and broth to casserole and add beets, vinegar, tomato mors or paste and sugar; simmer, covered, 15 minutes.
2
In a skillet set over moderate heat melt butter, add carrot, pepper, onion and salt and pepper and cook, stirring, until vegetables are softened; add to casserole. Add potatoes and shredded cabbage to casserole and simmer 10 minutes. Add kielbasa and simmer 5 minutes more. Stir in kvass to taste, dill and garlic and let stand 10 minutes. Serve soup with slices of roasted goose, dill sprigs and sour cream for garnish.
Was this recipe helpful?
Tips & Notes
Pro tips
Roast beets at 400°F until fork-tender (45–60 minutes), then cool, peel, and shred. Roasting concentrates sweetness and prevents raw, earthy harshness.
Simmer beef and ham hocks at a gentle bubble for 90 minutes minimum to extract deep savory broth; rushing yields thin, flat flavor.
Add vinegar in stages near the end. Start with 4 tablespoons, taste, then adjust—over-vinegaring cannot be undone, but underseasoning can be fixed.
Skim foam and impurities from the broth in the first 10 minutes of simmering for a cleaner, clearer final soup.
Substitutions
Ham hocks → smoked pork neck or bacon (reduces smokiness if preferred)
Red wine vinegar → apple cider vinegar or white vinegar (slightly different acidity profile)
Beef brisket or chuck → beef short ribs or stew meat (similar texture and flavor)
Tomato mors → tomato paste diluted in water (adjust concentration to taste)
Storage & make-ahead
Cool to room temperature, transfer to airtight containers, and refrigerate up to 5 days or freeze up to 3 months. Reheat gently on the stovetop; taste and adjust vinegar seasoning before serving.
Common Questions
Can I use fresh beets instead of roasted?
Yes. Peel, shred, and simmer fresh raw beets in the broth for 20–30 minutes until tender, or roast them first (45–60 minutes at 400°F) for deeper, sweeter flavor as the recipe intends.
What if I don't have ham hocks?
Substitute with smoked pork neck, bacon, or omit for vegetarian borscht. Increase beef broth by 1 cup to compensate for lost savory depth.
Why is my borscht not sour enough?
Red wine vinegar is the primary acid. Start with 4 tablespoons and add more 1 tablespoon at a time to taste. Some recipes also use tomato mors for subtle tang.
How long does borscht keep?
Refrigerate up to 5 days in an airtight container. Freeze up to 3 months. Reheat gently on the stovetop; vinegar flavor may intensify, so adjust seasoning before serving.
Should I make this ahead?
Yes—borscht tastes better the next day once flavors meld. Prepare fully, cool, refrigerate overnight, then reheat. Add fresh sour cream or dill just before serving.