Authentic Ukrainian Borscht with Beef & Fresh Dill

By :

Jake

December 23, 2025

Hero shot of Ukrainian borscht in a dark ceramic bowl with beet-red broth, sour cream topping, fresh dill, and visible vegetables.

Few dishes warm both the body and soul like Ukrainian Borscht. With its deep ruby hue, tender beef, and a bright balance of sweet and sour, this soup is comfort in its purest form.

Every spoonful delivers tender vegetables, rich broth, and that unmistakable beet flavor that feels both rustic and luxurious. Whether you grew up eating borscht or are discovering it for the first time, this recipe brings traditional Eastern European comfort right to your kitchen.

Why You’ll Love This Ukrainian Borscht

Traditional Ukrainian borscht isolated on white background with sour cream and dill in a dark ceramic bowl.

This isn’t just soup — it’s a bowl full of history and heart.

  • Deep, flavorful broth from meaty bones
  • Perfect balance of sweet, tangy, and savory
  • Packed with nutritious vegetables
  • Naturally beautiful color and aroma
  • Delicious hot or cold
  • Even better the next day

I first tasted homemade borscht at a Ukrainian friend’s kitchen in Austin. Her grandmother’s version was slow-cooked, bright with vinegar, and always finished with a generous swirl of sour cream and dill. When I set out to make my own, I wanted that same warmth — humble ingredients turned into something unforgettable.

Ingredients You’ll Need

The heart of borscht is layering earthy beets, rich meat, and bright acidity.

Main Ingredients

  • 1.5 lbs meaty beef or pork bones (necks, shanks, short ribs, or soup bones)
  • 6 cups water
  • 3 large beets, peeled and grated
  • 1 beet, peeled and grated (set aside for the end of cooking)
  • 1 large yellow onion, finely diced
  • 2 carrots, diced
  • 2 large potatoes, peeled and diced
  • ¼ head of cabbage, finely shredded
  • 2 tablespoons tomato paste
  • 3 cloves garlic, minced
  • 1 cup beet kvass (optional)
  • 1 bay leaf
  • 1 tablespoon vinegar
  • 1 tablespoon sugar or honey
  • 2 tablespoons lard (or bacon fat, ghee, olive oil, or avocado oil)
  • Salt and pepper to taste
  • Fresh dill, chopped (for serving)
  • Sour cream and rye sourdough bread (for serving)

Optional Add-Ons or Substitutes

  • Swap beef bones for lamb or turkey necks for a different richness
  • Use vegetable broth for a vegetarian version
  • Add kidney beans for extra protein
  • Replace tomato paste with pureed tomatoes
  • Skip beet kvass and use lemon juice for acidity
  • Top with Greek yogurt instead of sour cream

Step-by-Step Instructions

Full view of Ukrainian borscht showing beet-red broth, vegetables, sour cream topping, and dill garnish.

This is a slow-simmered soup — the kind you build flavor into every step.

  1. Make the broth: Place beef or pork bones in a large pot with 6 cups of water. Bring to a boil, skim off foam, then reduce to a gentle simmer. Add bay leaf, a pinch of salt, and simmer for 1–1½ hours. (Jake’s tip: patience here pays off — it’s the foundation of your flavor.)
  2. Cook the vegetables: In a skillet, melt lard or oil. Add grated beets (reserve one for later), onions, and carrots. Sauté for 10 minutes, stirring often until softened. Add tomato paste and sugar, cooking for another 2–3 minutes.
  3. Combine: Remove bones from broth and add sautéed vegetables, potatoes, and cabbage. Simmer for 20 minutes until tender.
  4. Brighten the soup: Add vinegar, beet kvass (if using), garlic, and the reserved raw beet. Stir well and cook another 10 minutes — this keeps the soup vibrant in color and flavor.
  5. Season: Taste and adjust with salt, pepper, or extra vinegar for tang.
  6. Serve: Ladle hot borscht into bowls, swirl with sour cream, and sprinkle with fresh dill.

Quick Reminders:

  • Always grate one beet fresh at the end — it keeps that signature color.
  • Don’t rush the broth; simmering bones builds depth.
  • Adjust sweetness and acidity to your liking.
  • A dollop of sour cream is essential — it cools and balances every bite.

Expert Tips for Success

Macro close-up of Ukrainian borscht showing beet strands, cabbage, meat, dill, and creamy sour cream texture.

Borscht is all about harmony — here’s how to make yours unforgettable.

  • Roast the beets before grating for deeper sweetness.
  • Add vinegar only at the end — it preserves color.
  • For a richer broth, sear the bones before boiling.
  • Don’t skip dill — it’s the flavor signature of Eastern European soups.
  • Let it rest overnight — the flavor doubles by day two.
  • Add a drizzle of olive oil before serving for extra richness.
  • Serve with rye bread for authentic texture and contrast.

If you enjoy hearty European soups like this, you’ll also love my Czech Garlic Soup. It’s another old-world comfort dish that fills your kitchen with aroma and your heart with warmth.

Serving Suggestions

Traditional borscht is both flexible and soulful. Here are my favorite ways to serve it:

  • With a swirl of sour cream and fresh dill
  • Alongside toasted rye or sourdough bread
  • With a sprinkle of caraway seeds for extra aroma
  • Paired with boiled eggs or roasted vegetables
  • Served hot in winter or chilled in summer
  • With Russian Potato and Mushroom Soup for a hearty Eastern European dinner spread

I love pairing this with a crisp cucumber salad or even my Lebanese Lemon Lentil Soup for a balance of brightness and earthiness at the table.

Storing and Reheating

This soup only gets better with time — it’s one of those dishes that’s richer on day two.

How to Store It

  • Let the soup cool completely before storing.
  • Keep in airtight containers in the fridge up to 5 days.
  • Freeze up to 3 months without the sour cream.
  • Always stir before reheating to redistribute flavor.

How to Reheat It

  • Warm gently on the stove over medium heat.
  • Add a splash of broth or water if it thickens.
  • Don’t boil — it can dull the color.
  • Add fresh dill and sour cream only after reheating.

It’s the perfect soup for meal prep — nourishing, balanced, and even more flavorful as it sits.

Nutrition (Per Serving)

  • Calories: 285 kcal
  • Protein: 18 g
  • Fat: 14 g
  • Saturated Fat: 5 g
  • Carbohydrates: 22 g
  • Fiber: 5 g
  • Sugar: 10 g
  • Cholesterol: 55 mg
  • Sodium: 920 mg
  • Potassium: 760 mg
  • Vitamin A: 4200 IU
  • Vitamin C: 34 mg
  • Calcium: 75 mg
  • Iron: 3.4 mg

High in antioxidants from the beets and packed with slow-cooked protein, this soup is both hearty and nourishing — true old-world comfort food.

Frequently Asked Questions

Can I make this vegetarian?

Yes! Use vegetable stock instead of meat broth and skip the bones — it’s still full of flavor.

Why do you add a raw beet at the end?

It brightens both the color and the earthy sweetness of the soup.

Can I use canned beets?

Fresh is best for color and texture, but canned can work in a pinch — just reduce sugar.

Final Thoughts

This Ukrainian Borscht isn’t just a recipe — it’s tradition in a bowl. With every spoonful, you taste earthy sweetness, rich broth, and that bright tang that makes it impossible to stop eating. It’s wholesome, beautiful, and deeply satisfying.

  • Simmer slow for the richest flavor.
  • Always finish with vinegar and fresh dill.
  • Let it rest — it gets even better tomorrow.

For another warm, vegetable-packed favorite, try my Vegetable Orzo Soup. Like borscht, it’s proof that the simplest ingredients can make the most comforting meals — made with heart, heritage, and a little patience.

Hero shot of Ukrainian borscht in a dark ceramic bowl with beet-red broth, sour cream topping, fresh dill, and visible vegetables.
33c99b172f9da99a80c3b6ab7862a8faJake

Ukrainian Borscht

No ratings yet
A traditional Eastern European soup made with beets, beef bones, and vegetables — rich, vibrant, and deeply nourishing, perfect hot or cold.
Prep Time 25 minutes
Cook Time 1 hour 45 minutes
Total Time 2 hours 10 minutes
Servings: 6 servings
Course: Soup
Cuisine: American
Calories: 285

Ingredients
  

  • 1.5 lb beef bones (necks, shanks, short ribs, or soup bones)
  • 6 cup water
  • 3 large beets, peeled and grated
  • 1 beet, peeled and grated (reserved for end)
  • 1 large yellow onion, finely diced
  • 2 carrots, diced
  • 2 large potatoes, peeled and diced
  • 0.25 head cabbage, finely shredded
  • 2 tbsp tomato paste
  • 3 clove garlic, minced
  • 1 cup beet kvass (optional)
  • 1 bay leaf
  • 1 tbsp vinegar
  • 1 tbsp sugar or honey
  • 2 tbsp olive oil
  • salt and pepper to taste
  • fresh dill, chopped (for serving)
  • sour cream (for serving)
  • rye sourdough bread (for serving)

Equipment

  • large pot
  • skillet
  • Grater for beets

Method
 

  1. Place beef bones in a large pot with 6 cups of water. Bring to a boil, skim off foam, then reduce to a gentle simmer. Add bay leaf, salt, and simmer for 1–1½ hours.
  2. In a skillet, heat oil and sauté 3 grated beets, onion, and carrots for 10 minutes until softened. Add tomato paste and sugar, cook another 2–3 minutes.
  3. Remove bones from broth. Add sautéed vegetables, potatoes, and cabbage to pot. Simmer for 20 minutes.
  4. Add vinegar, beet kvass (if using), garlic, and reserved raw beet. Stir and simmer for 10 minutes.
  5. Season with salt, pepper, or extra vinegar to taste.
  6. Ladle into bowls. Serve hot with a swirl of sour cream and chopped dill. Offer rye bread on the side.

Nutrition

Calories: 285kcalCarbohydrates: 22gProtein: 18gFat: 14gSaturated Fat: 5gCholesterol: 55mgSodium: 920mgPotassium: 760mgFiber: 5gSugar: 10gVitamin A: 4200IUVitamin C: 34mgCalcium: 75mgIron: 3mg

Notes

  • Replaced pork bones with all beef bones for a pork-free version.

Tried this recipe?

Let us know how it was!

Leave a Comment

Recipe Rating