Heat oil in a large pot over medium heat. Add onions and sauté until translucent (~3 min).
Add garlic and cook for 30 seconds until fragrant.
Stir in grated beets and carrots. Cook for 5 minutes.
Add tomato paste, vinegar, and sugar. Mix well.
Pour in broth, add bay leaves, and bring to a boil.
Reduce heat, cover, and simmer for 30 minutes.
Stir in diced potatoes and shredded cabbage. Simmer for 20 more minutes until tender.
If using beef, add pre-cooked stew meat now.
Discard bay leaves. Adjust salt and pepper to taste.
Ladle into bowls, top with sour cream and fresh dill.