Homemade red borscht with beef, beans, sour cream and dill in a bowl and a red pot, beside French prepared grated carrots, cooked beetroot and crème fraîche.

Nearly five years in France have changed the way I make borscht. Not because I've forgotten how to cook it in Ukraine, but because I've discovered that French supermarkets contain some surprisingly useful shortcuts.

I've been writing quite a lot about borscht recently.

Borscht with fried Black Sea gobies.

Borscht with canned sprats in tomato sauce.

Borscht with crucian carp dried on straw in a traditional Ukrainian stove.

I've even made borscht almost entirely from canned food, using French choucroute and Mexican chili con carne.

And then I wrote an entire technical specification explaining how much you can change borscht before it stops being borscht.

Four pages.

For soup.

A perfectly normal thing to do.

But after all these experiments, there's one fairly obvious question.

What kind of borscht do I actually cook at home?

The answer is a fairly conventional Ukrainian red borscht.

With a few decidedly French habits.

I've been living in France for almost five years, and my cooking has inevitably changed. Not so much because I wanted to reinvent Ukrainian cuisine, but because the ingredients available in French supermarkets are slightly different.

And some of them are wonderfully convenient.

So this is my current family recipe.

Not the definitive Ukrainian borscht.

Not even necessarily the borscht I cooked back in Ukraine.

Just the one I make now.

And the one my family enjoys.

First, the beef. And absolutely no bones.

Traditional Ukrainian borscht is frequently made with a substantial meat stock.

Bones.

Ribs.

A little fat.

Something with plenty of connective tissue to produce a rich broth.

Wonderful.

Except my family doesn't particularly like that sort of meat.

They prefer lean beef.

No bones.

No visible fat.

No tendons.

So I use beef fillet or another suitable lean, boneless cut.

Yes, I know. Somewhere a traditionalist has just dropped a wooden spoon in horror.

But I'm cooking for my family, not defending a doctoral dissertation on Ukrainian culinary authenticity.

I put the beef into a large pot of water and let it simmer gently for a few hours.

I want the meat properly cooked and tender, and the liquid to become a good, savoury base.

But there's a little trick I use to make the broth more interesting.

It involves a frying pan.

And no oil whatsoever.

I burn the vegetables. Deliberately.

I take a carrot and cut it lengthwise.

Then I place the two halves, cut side down, onto a hot, dry frying pan.

The flat surface begins to caramelise.

Then it darkens.

I want a little charring.

Not an entire carrot reduced to charcoal, obviously.

Just a deeply browned surface that will contribute extra flavour to the broth.

I do the same with an onion.

Peel it.

Cut it in half vertically.

Place the cut surfaces on the hot pan and let them brown.

Then I take a piece of fresh ginger.

Cut it lengthwise, without necessarily peeling it.

And brown its cut surface too.

All three go into the pot with the beef.

They simmer together for the next few hours.

The carrot and onion add sweetness and depth.

The ginger contributes another aromatic note.

The browned surfaces bring a little roasted character to the liquid.

And once the broth is ready?

I remove all three.

They've done their job.

The beef stays.

The vegetables are finished.

They've made the ultimate sacrifice for the soup.

The most important part isn't the broth

While the beef is cooking, I start preparing what I consider the heart of the whole operation.

The borscht dressing.

Or zazharka, although mine has become rather more elaborate than a simple mixture of fried onions and carrots.

This is where I build most of the colour, acidity and concentrated vegetable flavour.

And this is where French supermarket products become extremely useful.

First, I finely chop one or two onions, depending on the size of the pot.

Into a frying pan with a little vegetable oil.

Let them soften and develop some colour.

Then comes the carrot.

But I don't grate it.

Why should I?

I live in France.

Carottes râpées: the French shortcut

French supermarkets sell ready-prepared grated carrots.

Carottes râpées.

The version I like is finely shredded and lightly seasoned with lemon juice and salt.

It's one of those extremely ordinary French products that happens to solve a small cooking problem rather neatly.

I need grated carrot for borscht.

The carrot is already grated.

And a little acidity is useful in borscht anyway.

So into the frying pan it goes.

No peeling.

No grating.

No washing the grater afterwards.

Civilisation has achieved something.

I sauté the carrots with the onions.

If I have a bell pepper, I add that too.

Preferably red.

I grew up in southern Ukraine, where tomato-rich borscht with red bell pepper was entirely normal, and I still like that flavour.

The pepper softens in the pan.

The onions become sweet.

The carrots begin to lose their raw character.

And now we come to another French convenience.

The beetroot is already cooked

Back in Ukraine, preparing beetroot could be a separate little operation.

Boil it.

Roast it.

Peel it.

Grate it.

Try not to turn half the kitchen purple.

In France, particularly around Nantes, I can easily buy vacuum-packed cooked beetroot.

Sometimes boiled.

Sometimes roasted.

Sometimes prepared with vinegar.

For borscht, I particularly like the roasted version.

I find its flavour deeper and sweeter.

And it's already cooked.

I take the beetroot straight from the package and grate it.

I don't even bother peeling it again if the skin is tender and suitable for eating.

Then I add everything to the frying pan.

Including the beetroot juices from the packaging.

I want those juices to reduce.

The excess liquid evaporates.

The flavours concentrate.

The grated beetroot gets a little more cooking.

And the entire pan gradually turns a rather magnificent shade of red.

This is beginning to look like borscht.

But we aren't finished with the tomatoes.

Fresh tomatoes are nice. Tomato paste is essential to my version.

If I have plenty of fresh tomatoes at home, I chop some and add them during the vegetable-sautéing stage, before the beetroot.

They soften beautifully.

But fresh tomatoes don't replace tomato paste for me.

I want that concentrated tomato flavour.

So I usually add a small tin of tomato paste to the beetroot-and-vegetable mixture.

It deepens the colour and flavour.

And gives the dressing more body.

If I don't have tomato paste, I'll use canned Italian tomatoes instead.

Preferably chopped finely.

It's a different result, but perfectly acceptable.

I continue cooking until the mixture becomes thick and concentrated.

Then I add some chopped garlic.

Not all the garlic.

That's important.

This first addition is meant to cook into the dressing.

It becomes softer and more integrated into the flavour.

The second addition will come much later.

And do a completely different job.

And now, the beans

Here's another small departure from how I often encountered borscht in Ukraine.

There, we'd frequently make either meat borscht or meatless borscht with beans.

Two fairly distinct approaches.

I like both.

So why choose?

My version has beef.

And beans.

Usually white beans.

From a can, naturally.

I add them to the dressing together with their liquid.

Yes, the bean liquid too.

It contributes a little extra body to the mixture.

I let everything cook together until it thickens slightly.

Then I turn off the heat and move the pan aside.

The dressing can sit there while the rest of the ingredients catch up.

It will continue releasing steam and concentrating a little as it cools.

At this point, I have a frying pan full of what is effectively concentrated borscht flavour.

And a separate pot containing beef stock.

Now it's time to introduce them to each other.

But first, the potatoes.

French potatoes have apparently decided that peeling is optional

One of the things I enjoy about buying potatoes in France is how often I find clean, thin-skinned varieties suitable for cooking without peeling.

In Ukraine, I was accustomed to older potatoes with a thicker skin that needed removing.

Here, I frequently buy potatoes that can simply be washed and cut.

So that's what I do.

I cut them into manageable pieces, leaving the thin skin on.

And put them into the strained beef broth.

The browned carrot, onion and ginger have already been removed.

If the beef was cooked as one large piece, I take it out, cut it into serving portions and return it to the pot.

If it was already portioned, I leave it alone.

Now the potatoes begin cooking.

I give them approximately fifteen minutes before adding the cabbage.

The cabbage comes later

Meanwhile, I've finely shredded some cabbage.

The timing depends on the cabbage itself.

If it's young and tender, I add it later.

If it's a mature, firm white cabbage, I give it a little more time.

I don't want it completely disintegrated.

Nor do I want it crunching like a raw salad when everything else is ready.

Once the potatoes are nearly cooked and the cabbage has softened to the texture I like, the decisive moment arrives.

I take the frying pan.

And tip the entire concentrated beetroot-and-tomato dressing into the pot.

Stir.

Suddenly the beef broth transforms.

The colour changes.

The aroma changes.

The whole thing becomes recognisably borscht.

I let it simmer together for approximately five minutes.

Not half an hour.

The dressing is already cooked.

It just needs to become part of the soup.

The final minute is all about garlic

Now I adjust the seasoning.

Salt.

Black peppercorns.

A couple of bay leaves.

Sometimes a little white or green pepper.

Occasionally, a tiny piece of fresh hot pepper.

But I have another shortcut.

Sriracha.

Yes, the hot sauce.

And no, I'm not trying to make Thai borscht.

I add only a few drops.

Not enough to make the soup noticeably spicy.

Just enough to introduce a subtle peppery, aromatic note that I happen to enjoy.

Then, in the final minute, I add the remaining freshly chopped garlic.

This is deliberately different from the garlic that went into the dressing earlier.

The first addition was cooked into the vegetable base.

The second is there for its fresh, immediate aroma.

I stir everything briefly.

Turn off the heat.

Put the lid on.

And leave it alone.

Which, unfortunately, brings us to the most difficult part of the recipe.

Borscht is better tomorrow. Nobody wants to wait until tomorrow.

Ideally, I like the finished borscht to rest for at least an hour.

The ingredients settle.

The flavours become more integrated.

The sharp edges soften.

And the soup develops that familiar richness that freshly assembled borscht doesn't always have.

But the real magic happens the following day.

I genuinely think borscht often tastes better after spending the night in the refrigerator.

Unfortunately, this creates a practical problem.

There's a pot of delicious borscht in the kitchen.

Everybody knows it's there.

And everybody is hungry.

So the noble plan to wait until tomorrow tends to collapse after about an hour.

Which is perfectly understandable.

We are only human.

How I serve it in France

In Ukraine, borscht is commonly served with sour cream.

Smetana.

In France, I use crème fraîche.

Preferably a good, rich Breton one.

It works beautifully.

A spoonful goes into the hot borscht.

The white cream begins to melt into the red soup.

A little fresh dill or parsley is welcome.

Some bread on the side.

And that's dinner.

No elaborate restaurant presentation.

No towers of microgreens.

No mysterious foam.

Just a generous bowl of homemade borscht.

Exactly as it should be.

My current French-Ukrainian borscht: the cooking method

I don't follow strict gram measurements. The quantities depend on the size of the pot and how much borscht I want to make.

But the method is consistent.

Ingredients

For the broth

  • Lean boneless beef, preferably a cut my family enjoys
  • Water
  • 1 carrot, halved lengthwise
  • 1 onion, halved
  • A piece of fresh ginger, halved lengthwise

For the concentrated dressing

  • 1–2 onions, finely chopped
  • Prepared carottes râpées, preferably lightly seasoned with lemon
  • Red bell pepper, if available
  • Vacuum-packed cooked beetroot, preferably roasted
  • A small tin of tomato paste, or canned Italian tomatoes
  • Fresh tomatoes, optional
  • Garlic
  • 1 can of white beans, with its liquid
  • A little vegetable oil

For finishing the borscht

  • Potatoes, preferably thin-skinned
  • Finely shredded cabbage
  • Salt
  • Black peppercorns
  • Bay leaves
  • Optional white or green peppercorns
  • Optional fresh chili or a few drops of sriracha
  • Additional fresh garlic

To serve

  • Crème fraîche or sour cream
  • Fresh herbs
  • Bread

The sequence

  1. Start simmering the beef in water. Brown the cut surfaces of the carrot, onion and ginger in a dry pan and add them to the broth.
  2. While the broth cooks, sauté the chopped onions in vegetable oil, followed by the prepared grated carrots and optional bell pepper.
  3. Add optional fresh tomatoes, then grated cooked beetroot with its juices. Allow the liquid to reduce.
  4. Add tomato paste, or finely chopped canned tomatoes as a substitute. Cook until concentrated.
  5. Stir in chopped garlic, followed by canned white beans and their liquid. Allow the dressing to thicken, then set it aside.
  6. When the beef is tender, remove the broth vegetables. Portion the meat if necessary and return it to the pot.
  7. Add the chopped potatoes and cook for approximately fifteen minutes.
  8. Add shredded cabbage, adjusting the timing for young or mature cabbage.
  9. When the potatoes and cabbage are nearly ready, add the concentrated dressing. Simmer together for about five minutes.
  10. Adjust the seasoning with salt, peppercorns, bay leaves and optional chili or sriracha.
  11. Add freshly chopped garlic in the final minute. Turn off the heat and cover the pot.
  12. Let the borscht rest for at least an hour, then serve with crème fraîche.

And refrigerate the leftovers promptly.

Assuming there are any.

Is this traditional Ukrainian borscht?

Yes.

And no.

It's recognisably Ukrainian red borscht.

But the ingredients reflect where I live now.

The grated carrots come prepared from a French supermarket.

The beetroot has already been roasted and vacuum-packed.

The potatoes keep their thin skins.

The cream is Breton.

There's ginger in the beef stock.

A few drops of sriracha may appear at the end.

And I combine meat with beans because I like both.

None of this troubles me particularly.

I've already written about how flexible borscht can be.

I've made a technical decision map of its ingredients.

I've tasted regional versions that many Ukrainians would find completely unfamiliar.

So why would I insist on reproducing the exact shopping list of my childhood kitchen when I now live in France?

The important thing is that the soup works.

That it tastes like borscht.

And that my family enjoys eating it.

For me, this is one of the more pleasant aspects of living in another country.

You don't necessarily abandon your old food traditions.

You adapt them.

You discover unfamiliar ingredients.

You find shortcuts.

You change a few techniques.

And gradually, your cooking starts reflecting both the place you came from and the place where you live now.

My borscht is still Ukrainian.

It's just acquired a few French habits.

And, rather conveniently, the French have already grated the carrots.

Kitchen Notes

Recipe at a glance

Varies with the size of the pot.. Simmer the beef gently for a few hours, until tender. Cook the potatoes for approximately fifteen minutes before adding the cabbage, adjusting for its tenderness. Simmer with the dressing for about five minutes; add the final garlic in the last minute. Rest for at least an hour.

Ingredients

  • According to pot size Lean boneless beef, preferably a cut my family enjoys
  • According to pot size Water
  • 1 Carrot, halved lengthwise
  • 1 Onion, halved
  • A piece Fresh ginger, halved lengthwise
  • 1–2 Onions, finely chopped
  • According to pot size Prepared carottes râpées, preferably lightly seasoned with lemon
  • Optional Red bell pepper, if available
  • According to pot size Vacuum-packed cooked beetroot, preferably roasted
  • A small tin of paste, or tomatoes as needed Tomato paste, or canned Italian tomatoes as a substitute
  • Optional Fresh tomatoes
  • To taste Garlic for the dressing
  • 1 can White beans, with their liquid
  • A little Vegetable oil
  • According to pot size Potatoes, preferably thin-skinned
  • According to pot size Finely shredded cabbage
  • To taste Salt
  • To taste Black peppercorns
  • A couple Bay leaves
  • Optional White or green peppercorns
  • Optional: a tiny piece of chili or a few drops of sriracha Fresh chili or sriracha
  • To taste Additional fresh garlic for the final minute
  • To serve Crème fraîche or sour cream
  • To serve Fresh herbs
  • To serve Bread

Method

  1. Start simmering the beef in water. Brown the cut surfaces of the carrot, onion and ginger in a dry pan and add them to the broth.
  2. While the broth cooks, sauté the chopped onions in vegetable oil, followed by the prepared grated carrots and optional bell pepper.
  3. Add optional fresh tomatoes, then grated cooked beetroot with its juices. Allow the liquid to reduce.
  4. Add tomato paste, or finely chopped canned tomatoes as a substitute. Cook until concentrated.
  5. Stir in chopped garlic, followed by canned white beans and their liquid. Allow the dressing to thicken, then set it aside.
  6. When the beef is tender, remove the broth vegetables. Portion the meat if necessary and return it to the pot.
  7. Add the chopped potatoes and cook for approximately fifteen minutes.
  8. Add shredded cabbage, adjusting the timing for young or mature cabbage.
  9. When the potatoes and cabbage are nearly ready, add the concentrated dressing. Simmer together for about five minutes.
  10. Adjust the seasoning with salt, peppercorns, bay leaves and optional chili or sriracha.
  11. Add freshly chopped garlic in the final minute. Turn off the heat and cover the pot.
  12. Let the borscht rest for at least an hour, then serve with crème fraîche.