Perfecting an authentic Ukrainian borscht recipe took me years, because I’ll say it straight: the first borscht I made on my own was the color of old tea.
It tasted fine. But I’d done everything “right,” and my gorgeous beet soup came out a sad, muddy brownish-red. Nobody wants a brown borscht on the table. It took me a few Sundays of cooking, plus some reading about what beets actually do in a hot pot, to figure it out.
Good news: the fix is tiny. One spoon of acid at the right moment, and your soup stays a deep ruby red from the pot to the last bowl, even reheated the next day.

Jump to: What is Ukrainian borscht? · Why borscht turns brown · The zazharka secret · Step-by-step recipe · How to serve · 5 variations · Troubleshooting · FAQ
What Is Ukrainian Borscht, Exactly?
Borscht is a beet soup, but not all borscht is the same. The Ukrainian version is built on a rich broth, vegetables, and a separate pan of sautéed beets and carrots that gets stirred in at the end.
It’s also a big deal beyond the kitchen. In July 2022, UNESCO added the culture of Ukrainian borscht cooking to its list of intangible heritage in need of urgent safeguarding, noting that the war threatens the tradition. UNESCO also made clear that the listing doesn’t claim exclusive ownership of the dish. For me, as I share in my story on the home cook behind NourishRituals, it’s simply the comfort soup I grew up around in Ukraine, and every family has its own nuanced version.
This is my everyday version. It’s honest, home-style, and made with ingredients from any regular grocery store.
Why Borscht Turns Brown (The Science, Quickly)
Beets get their red color from pigments called betalains. The main one is betanin. It’s a lovely, vivid pigment, and also a bit of a diva.
Betanin is sensitive to three things:
- Heat. Long, hard boiling slowly breaks the pigment molecules down.
- pH. According to food science studies on betalain pigment stability and thermal degradation, betanin is most stable in a mildly acidic pH range of 4 to 5. In neutral or alkaline cooking environments, it degrades into yellowish-brown compounds.
- Oxygen and light. Both slowly dull the color over time.
Now think about a typical borscht pot. You have broth, potatoes, and cabbage, which is close to neutral. You boil it for an hour. Every condition is working against the red.
The fix is to protect the beets. Cook them separately, in fat, with a splash of acid, and add them near the end of the cooking. That’s exactly what the zazharka step does.

What’s the Zazharka, and Why It Matters
Zazharka (зажарка) is the sautéed base of onion, carrot, and beets that goes into the soup at the end. It does three jobs at once:
- Color. Beets cooked in a small pan with vinegar sit in an acidic environment, so the pigment stays stable.
- Flavor. Browning the vegetables and tomato paste in oil builds sweetness and depth you can’t get by boiling.
- Richness. Carrot’s orange carotenoids dissolve in fat, so the oil carries color and flavor into the broth.
One more detail from the kitchen: acid keeps plant cell walls firm, which is why a big spoon of vinegar can leave beets crunchy. So I use just 1 tablespoon in the pan and finish the pot with a little lemon at the end. You get the color, and the beets still go soft.
Ingredients
For 6 generous bowls:
- 1.5 lb (700 g) bone-in beef, like short rib or shank
- 12 cups (3 L) cold water
- 1 bay leaf, 5 peppercorns, 2 tsp salt
- 3 medium beets (about 1 lb), peeled and grated
- 2 medium carrots, grated
- 1 large onion, finely diced
- 3 tbsp sunflower or neutral oil
- 1 tbsp white or apple cider vinegar
- 2 tbsp tomato paste
- 3 medium potatoes, cubed
- ½ small green cabbage, thinly shredded (much like the prep for our crispy cabbage hash)
- 1 can (15 oz) white beans, drained (optional, but I like them)
- 3 garlic cloves, minced
- 1 tbsp lemon juice, to finish
- Fresh dill and parsley
- Sour cream, for serving
How to Make This Ukrainian Borscht Recipe Step by Step
Step 1: Make the Broth
Put the beef in a big pot, cover it with cold water, and add the bay leaf, peppercorns, and salt. Bring it up slowly. When it starts to bubble, skim off the grey foam with a spoon. This keeps the broth clear.
Turn the heat down so it barely bubbles, partly cover, and leave it for about 1 hour 15 minutes. Small bubbles only. A hard boil makes cloudy broth and tough meat.
Lift out the meat, shred it off the bone, and put it back. Toss the bones and the bay leaf.
Short on time? On a real Tuesday, I’ll make the broth on Sunday and keep it in the fridge. Then the whole thing takes about 45 minutes. Store-bought low-sodium beef or chicken broth works too, though homemade tastes better.
Step 2: Make the Zazharka
Heat the oil in a wide pan over medium heat. Cook the onion and carrot for about 5 minutes, until soft but not browned.
Add the grated beets and the vinegar. Stir well and cook for 5 minutes. You’ll see the pan turn an almost neon magenta. That’s the pigment doing its thing.
Stir in the tomato paste and ½ cup of hot broth. Cover, turn the heat to low, and let it simmer for 15 minutes, until the beets are tender.

Step 3: Build the Soup
Add the potatoes to the broth and simmer for 10 minutes. Add the cabbage and beans and simmer 5 more minutes.
Now stir in the zazharka. Keep the heat low and let it gently simmer for 10 minutes. This is the important part: don’t boil it hard from here on. The beets already did their cooking, and now you’re just letting the flavors meet.
Step 4: Finish and Rest
Turn off the heat. Stir in the garlic, dill, parsley, and the lemon juice. Taste. It should be savory, a little sweet from the vegetables, and gently tangy. Add salt and pepper as needed, and a tiny pinch of sugar if the tang feels sharp.
Put the lid on and let it rest for 20 to 30 minutes. I know, waiting is hard when the kitchen smells like this. But the flavors really do come together in that half hour, and the garlic mellows.

How to Serve Borscht
A bowl of hot borscht with a big spoon of sour cream (smetana in Ukrainian) and a handful of dill is the classic. Add something to mop up the bowl:
- Pampushky, soft garlic bread rolls, are the traditional partner.
- A slice of dark rye bread rubbed with a raw garlic clove is the lazy, perfect version (if your loaf is day-old, use our guide on how to revive stale bread to get that crackly bakery crust back).
- A little salo (cured pork fat) on the side if that’s your family tradition.

5 Borscht Variations
Every family does it a little differently, and that’s the point. Here are five to try:
- Vegetarian or Lenten borscht. Skip the beef, use a good vegetable broth, and keep the white beans. Add a spoonful of mushroom powder or a few dried mushrooms for depth.
- Kyiv-style with beans. Add more white beans and a handful of prunes for a mellow sweet-and-savory note.
- Poltava-style with dumplings. Serve with small soft dumplings (halushky) dropped in at the end for a heartier meal.
- Tangy fermented borscht. Swap the vinegar for a few spoonfuls of sauerkraut brine. I keep a jar going from my fermented sauerkraut jar ritual, and the brine adds a lovely sourness.
- Quick weeknight borscht. Use store-bought broth and pre-cooked shredded chicken. It’s not the same as the long version, but it’s very good on a busy night.
Troubleshooting: Fixing Common Borscht Problems

My borscht turned brown or dull.
Most likely the beets boiled too long in a near-neutral pot. Next time, cook them in the zazharka with acid and don’t boil hard once they’re in. For the pot you already have, a spoon of lemon juice can brighten it a little.
It’s too sour.
You went a bit heavy on the acid. Add a small pinch of sugar and a splash of hot broth or water to balance it.
It tastes flat.
Usually it needs salt, or a little acid at the end. Salt first, then a squeeze of lemon. A spoon of tomato paste can add depth too.
The beets are still hard.
Too much acid, or not enough simmering time. Let the zazharka simmer a few minutes longer with the lid on.
The cabbage is mushy.
It went in too early. Add it in the last 5 minutes so it stays tender with a little bite.
The broth is cloudy.
You boiled it hard or skipped skimming. Next time, start with cold water, skim well, and keep it at a gentle simmer.
Storage and Make-Ahead
Borscht is one of those soups that’s better on day two. The flavors deepen, and the color holds beautifully because you built it correctly.
- Fridge: up to 4 days in a covered container.
- Freezer: up to 3 months. Freeze it without sour cream and, if you can, with slightly undercooked potatoes, which can get grainy after freezing.
- Reheating: warm it gently on the stove. Avoid a hard boil.
FAQ
Why does my borscht lose its red color?
The beet pigment (betanin) breaks down with long heat and in less acidic liquids. Cooking the beets separately with a little vinegar and not boiling hard afterward protects it.
Can I make borscht without meat?
Yes. Use vegetable broth and add white beans for body. A few dried mushrooms or a spoon of mushroom powder gives you the savory depth that meat would.
Do I have to use vinegar?
No. Lemon juice or sauerkraut brine works just as well. You only need a small amount of acid to keep the color stable.
Can I use canned or pre-cooked beets?
You can, in a pinch. Add them with the zazharka at the end, and keep in mind the flavor will be milder and the color a bit less vivid than with fresh grated beets.
How long does borscht keep?
About 4 days in the fridge and up to 3 months in the freezer. It tastes even better the next day.
Borscht isn’t a fast dish, and I’m not going to pretend it is. But it’s a calm, forgiving one, and it’s mostly hands-off once the pot is going. Make it on a slow Sunday, and you’ll have dinners sorted for days.
If you cook it, tell me how it went. Did it stay red? I read every message, and your questions often turn into my next recipe.
Want more cozy, doable recipes and slow-living ideas? Follow me on Pinterest for new ideas every day.

