Wash the beef and place in a saucepan with 2 litres cold water. Bring to a boil, skim foam, reduce heat and simmer 20 minutes. Add salt to taste and simmer 40 more minutes, until meat is cooked. Remove meat and discard the bone.
Saute the sliced onions in a little oil in a frying pan and set aside. Fry the beetroot, carrot and celery root. Sprinkle with a little vinegar and salt, add the sugar and tomato paste. Add a little of the cooking water and simmer.
Add the potatoes and cabbage to the cooking water and simmer 15 minutes.
Add the contents of the frying pan to the soup with the bay leaf, tomatoes and garlic. Season with salt and pepper and season 8 more minutes.
Add chopped dill and parsley to taste, return the diced beef to the soup and heat through. Let rest 15 minutes and serve.