TL;DR: Our family borscht recipe starts with deeply roasted pork ribs, fresh summer beets, yellow beans, carrots, cabbage and loads of fresh dill. The secret is using vegetables at their peak, roasting the beets separately and balancing the finished soup with lemon and vinegar.
This borscht recipe didn’t start in a cookbook. It came from Kirstie’s grandmother’s neighbour, likely sometime in the 1950s or ’60s, and eventually became one of those recipes that simply became part of the family. Kirstie’s mom has an August birthday, so borscht was often made right around her birthday, when gardens and markets were overflowing with beets, beet greens, yellow beans, carrots, cabbage and fresh dill. At the time, that probably just seemed like when you made borscht.
Years later, Kirstie decided she wanted to learn some of those family recipes properly. So one winter, she and her grandma made the borscht together. It wasn’t the same. Not even close. The recipe hadn’t changed. The vegetables had.
That pot of winter borscht became a pretty great lesson in something we now teach all the time. When a recipe is built around vegetables, the quality and season of those vegetables matter.
So this is still an August recipe for us. It’s also the kind of cooking we love most. A giant pot on the stove. People around the table. A recipe passed from one kitchen to another for more than half a century.
Our borscht is a clear, hearty, broth-based soup made with pork ribs, roasted beets and loads of summer vegetables. It’s not puréed, doesn’t contain potatoes and gets its final balance from fresh herbs, lemon and a splash of vinegar.
There are countless versions of borscht, and that’s part of what makes it such an interesting dish. Borscht has deep roots throughout Eastern and Central Europe, particularly Ukraine, and recipes vary enormously by country, region and family.
This is ours.
Or more accurately, this is Kirstie’s grandmother’s neighbour’s recipe that made its way into Kirstie’s grandmother’s kitchen, then her mom’s, and eventually ours.
We start by roasting pork spareribs until they’re deeply browned. Those ribs simmer into a rich broth while the beets roast separately. Then carrots, yellow beans, cabbage, beet greens and optional rhubarb join the pot. At the very end, we add handfuls of fresh parsley and dill, lemon zest and juice, and enough vinegar to make the whole pot come alive. And no potatoes.

This is a big-pot borscht recipe, exactly as we think it should be. It feeds a crowd, tastes even better the next day and freezes beautifully.
The best borscht comes from building flavour in stages. Roast the pork and beets separately first, make the broth, then add the vegetables according to how much cooking they need.
Roast the Pork Ribs: Preheat your oven to 400°F. Season the ribs generously with salt and pepper and arrange them parchment-lined baking sheet. Roast until they’re deeply browned, about 20 minutes.
Transfer the browned ribs to a very large stockpot (scrape in any browned bits on the parchment paper). Add the onion and bay leaves, then cover with cold water, about a tablespoon of kosher salt, and 20 cups.
Bring everything to a gentle simmer and cook until the pork is fork tender.
Meanwhile, roast the Beets: While the ribs cook, trim the greens from the beets and set them aside.
Place the whole beets on a double layer of foil. Season generously with salt and drizzle with a little olive oil.
Carefully add about 1 cup of water, then seal the foil tightly around the beets to create a packet.
Place the packet on a baking sheet and roast at 400°F until the beets are just fork tender.
Let them cool enough to handle, then slip off the skins and cut the beets into half-moon slices. Don’t add to the broth yet.
Prepare the Vegetables: While your broth and beets are cooking, get everything else ready.
Roughly chop the beet greens. Peel and cut the carrots into batons. Trim and halve the yellow beans. Thinly slice the cabbage. Chop the rhubarb, if using. Chop the parsley and dill, but keep those aside. They go in toward the end.
Once the pork is fork tender (the meat will literally be falling off the bones, and you can go ahead and remove those bones and discard), add the roasted sliced beets, carrots, yellow beans, cabbage, beet greens and rhubarb.
Bring the soup back to a gentle simmer and cook for about 25 minutes, or until the vegetables are tender but still have some structure.
Add the chopped parsley and dill along with the lemon zest and juice. Simmer for another 10 minutes.
Now taste for seasoning: Add salt and pepper as needed, then add white vinegar a little at a time until the soup tastes bright and balanced. You’re not trying to make it taste like vinegar. You’re using acid to sharpen all the other flavours already in the pot.
Serve or Cool: Serve your borscht immediately with a generous spoonful of sour cream. Or do what we often prefer: Cool it properly, refrigerate it and eat it tomorrow. This is definitely one of those soups that tastes better the next day.
Roasting the pork ribs creates deeper, more complex flavour through browning before they ever hit the water. If you put raw ribs directly into water, you’ll still make broth, but you won’t get the same depth.
Here’s Jody’s science moment. When the surface of the pork gets hot and dry enough in the oven, the amino acids and sugars undergo a series of reactions collectively known as the Maillard reaction, also known as the ‘browned bits’. Those browned surfaces create hundreds of new flavour and aroma compounds. Once the ribs move into the water, those flavours become part of your broth. If there’s any browned bits on your roasting sheet, scrape those in too.
Boiling raw ribs can’t create the same reaction because water keeps the temperature around the meat too low for significant browning.
Roasting the beets separately concentrates their flavour, helps preserve their character and prevents them from spending hours cooking in the pork broth.
We don’t want to boil the life out of beautiful August beets. Wrapping them with a little water creates a moist roasting environment. The beets cook in their skins, which protects the flesh and makes those skins remarkably easy to remove afterward.
Once they’re just tender, we peel and slice them before adding them to the soup.
The ribs need plenty of time to become tender and create the broth. The beets don’t. Cooking everything together from the beginning would mean sacrificing one ingredient for another.
Good cooking often comes down to timing.
Borscht made with young, freshly harvested vegetables has a sweetness, texture and freshness that’s difficult to reproduce with vegetables that have been stored for months. For our family version, summer produce isn’t just preferable. It’s part of the recipe.
We learned this one the hard way! When Kirstie was older and wanted to learn the borscht she remembered, she and her grandma decided to make a batch together for her birthday, in January!
They followed the recipe. They used the right ingredients. They did everything they were supposed to do, but it just wasn’t right.
The beets weren’t those beautiful young summer beets. The beans and greens didn’t have that just-picked quality. Some of the vegetables had been stored or frozen.
August brings tender beets with their greens still attached, fresh yellow beans, sweet carrots, cabbage, herbs and rhubarb all at once.
Rhubarb adds gentle acidity and a subtle fruity tartness that balances the sweetness of the beets and carrots. It’s optional, but it’s a brilliant addition when rhubarb is available.
We love this ingredient in the recipe because it feels so connected to the way people once cooked.
Rhubarb isn’t there to make the soup taste like rhubarb pie. In fact, you may not identify it at all in the finished bowl. Instead, its acidity works in the background, cutting through the richness of the pork and balancing naturally sweet vegetables.
If you have it, use it. If you don’t, don’t let the absence of rhubarb stop you from making borscht.
Acid balances the sweetness of the beets and carrots, cuts through the richness of the pork broth and makes the finished soup taste brighter. Without enough acidity, borscht can taste surprisingly flat.
This is where we want you to cook with your palate instead of blindly following a measurement. Start with lemon. The zest brings fragrant citrus oils. The juice brings acidity.
Then taste the soup. Does it taste rich but a little dull? Add a splash of white vinegar. Taste again. Maybe it needs salt. Taste again.
This is one of the most important skills we teach. Salt and acid solve different problems. Salt amplifies flavour. Acid creates contrast and brightness. A soup can contain plenty of salt and still taste flat because what it really needs is acid.
That’s why our recipe says white vinegar, to taste.
Don’t overcook your beets, and use acidity to help maintain their vibrant colour. Beet pigments respond to heat and pH, so prolonged cooking can dull that gorgeous colour.
The pigments responsible for that incredible beet colour are called betalains.
Betalains are sensitive to prolonged heat. That’s another reason we don’t simmer our beets in the broth from the very beginning. Acidity also helps support that bright colour.
Our family borscht doesn’t need potatoes. The pork, beets, beans, carrots and cabbage give it plenty of substance, and leaving potatoes out means the soup freezes exceptionally well.
We know there are plenty of borscht recipes with potatoes. This isn’t one of them. We wouldn’t add them, partly because this is how the recipe has always tasted to us, and partly because we genuinely don’t think it needs them. But there’s also a practical bonus. Potatoes can develop a grainy or mealy texture after freezing and thawing. Without them, this soup comes back beautifully.
Borscht often tastes better after a night in the refrigerator because its flavours have time to mingle and redistribute throughout the broth. Chilling also makes it easy to remove excess pork fat from the surface.
The aromatics, herbs, beet juices and acids distribute throughout the broth. Strong individual flavours settle into the whole. Then there’s the pork fat.
When the soup is hot, rendered fat floats on the surface as a liquid and can be awkward to remove completely. Chill the pot and that fat firms up on top. Lift off as much as you want before reheating.
[caption id="attachment_3377" align="alignnone" width="300"]
Chilling Borscht overnight before freezing[/caption]
Jody and Kirstie’s Hot Tips
- Make this in summer. Young beets, fresh beans and good greens genuinely make a difference.
- Buy beets with the greens attached. You get two vegetables for the price of one, and the greens belong in the soup.
- Brown those ribs. Pale pork makes pale-tasting broth. Give them proper colour.
- Roast the beets separately. You’ll have better control over their texture, flavour and colour.
- Slice the cabbage very thinly. You want silky pieces throughout the broth, not giant cabbage ribbons fighting you for the spoon.
- Add the herbs late. Fresh dill and parsley don’t need an hour of cooking.
- Taste before adding vinegar. Your lemons and rhubarb may already have brought plenty of acidity.
- Make the giant batch. Just like some of our other soups, this soup freezes exceptionally well!
- And don’t add potatoes. We said what we said.
Substitutions
This borscht is flexible when it comes to the vegetables and greens, but we wouldn’t change the fundamental combination of pork, beets, fresh herbs and acidity that gives this family recipe its character.
What Can I Use Instead of Beet Greens?
Swiss chard is our first choice. Kale works too. Use about two generous handfuls of chopped greens if your beets came without their tops.
Can I Use Green Beans Instead of Yellow Beans?
Yes. Yellow beans are part of the version we know and love, but fresh green beans will work.
Do I Have to Use Rhubarb?
No. Rhubarb is completely optional. If you leave it out, simply pay closer attention to the final seasoning. You may want a little more lemon juice or vinegar.
Can I Use Beef Instead of Pork?
You can make delicious beet soup with beef, but it won’t taste like this recipe. The pork ribs create a particular richness and sweetness in the broth that is part of our family borscht.
Can I Make This Vegetarian?
You can certainly make a vegetable-based borscht, but we wouldn’t simply remove the ribs from this recipe and expect the same result. The pork creates the foundation of the broth, so a vegetarian version deserves its own properly developed recipe.
What to Know and Avoid
The biggest mistakes with this borscht are rushing the browning, overcooking the vegetables and forgetting to balance the finished soup with acid. Treat each stage separately and the final pot will taste much more complex. Avoid overcrowding the ribs when roasting. You want browning, not steaming.
Don’t cook the beets in the broth from the beginning. Give the pork the time it needs, then bring the vegetables into the equation.
Don’t chop everything into tiny identical pieces either. Part of what we love about this borscht is its texture. Carrot batons, half-moons of beet, pieces of beans and thin cabbage all eat differently.
How to Store Borscht
Borscht is an excellent make-ahead soup. Cool it quickly, refrigerate it in covered containers and reheat only what you need.
Because this is such a large batch, don’t leave the entire stockpot sitting on the counter for hours waiting to cool.
Divide the soup among several shallow or smaller containers so it cools more quickly, then refrigerate promptly. Once thoroughly chilled, you can remove any excess pork fat that has solidified on the surface. Refrigerated borscht is best enjoyed within about 3 to 4 days.
Can You Freeze Borscht?
Yes. This particular borscht freezes beautifully, and the absence of potatoes is one of the reasons why.
Cool the soup completely, portion it into freezer-safe containers and leave a little room for expansion. Freeze it in whatever quantities make sense for your household. A few large containers are great for future dinners, while individual portions make excellent lunches.
For best quality, we’d aim to use frozen borscht within about 3 months.
Thaw overnight in the refrigerator and gently reheat it on the stove. Taste again before serving. A squeeze of fresh lemon or splash of vinegar can wake everything right back up.
Borscht Recipe FAQ
What is borscht?
Borscht is a soup associated with Eastern and Central European cuisines, especially Ukraine. Many versions feature beets, but ingredients and preparation vary significantly by region and family.
Does borscht always contain beets?
Beet borscht is the version many Canadians recognize, but borscht encompasses a much broader family of soups. Our family recipe uses plenty of fresh summer beets and their greens.
Can you freeze borscht?
Yes. Our borscht freezes particularly well because it doesn’t contain potatoes, which can become grainy after freezing. Cool the soup completely before portioning and freezing.
Is borscht served hot or cold?
Both exist. This pork rib borscht is a hearty version that we serve hot, preferably with sour cream.
Why add vinegar to borscht?
Vinegar provides acidity that balances sweet beets and carrots and cuts through the richness of the pork broth. Add it gradually at the end and taste as you go.
Can I make borscht ahead of time?
Absolutely. We think this borscht tastes even better the next day. Refrigerating it overnight also allows the pork fat to solidify on the surface, making any excess easy to remove.
Do you peel beets for borscht?
We roast our beets in their skins first. Once they’re tender and cool enough to handle, the skins slip off easily. Then we slice the beets and add them to the soup.
What do you serve with borscht?
A generous spoonful of sour cream is essential in our house. Good bread alongside doesn’t hurt either.
Key Takeaways
- Our family borscht recipe uses roasted pork ribs, separately roasted beets and loads of fresh summer vegetables.
- Peak-season produce makes a noticeable difference, which is why this has always been an August soup in Kirstie’s family.
- Lemon, optional rhubarb and white vinegar balance the sweetness of the vegetables and richness of the pork.
- Roasting the beets separately helps control their texture, flavour and brilliant colour.
- Skip the potatoes and this borscht becomes an excellent freezer meal.
If you love understanding the little bits of science and technique that make family recipes even better, listen to our Chef Over Your Shoulder podcast, where we talk about what works in the kitchen, what doesn’t and, most importantly, why.
About Jody and Kirstie
Jody O’Malley and Kirstie Herbstreit are the Red Seal certified chef co-owners of The Culinary Studio in Waterloo, Ontario. Jody is a Stratford Chefs School graduate (2002) and Kirstie trained at SAIT in Calgary (2003). Together, they bring over 20 years of professional cooking experience and 15 years building one of Canada’s leading culinary education businesses. They teach home cooks the science and techniques behind great food, not just the recipes, and co-host the Chef Over Your Shoulder podcast alongside Amy Schlueter.