In a large soup pot or dutch oven, combine short ribs, onion, carrot chunks, celery, bay leaves, peppercorns, salt and water.
Bring it to a boil and then lower the heat, cover and simmer for 2.5 to 3 hours, or until the meat is falling off the bones. Remove the scum that floats to the top with a spoon several times in the beginning.
While the broth is simmering, heat 1 Tbsp oil in a pan and sauté diced onion for 2-3 minutes. Add chopped garlic and grated carrot and sauté till the carrot starts to soften up, about 6-8 minutes. Plate it out.
In the same pan, add 1 Tbsp more oil and sauté grated beets for 4-5 minutes. Add sugar, ½ Tbsp white vinegar, and tomato paste and cook for 12-15 minutes, until the beats are tender. You will add this this to the soup pot later.
Once the Borscht stock is done, remove the short ribs. Discard the bones and shred the meat into big chunks. Discard the vegetables and strain the beef broth.
Bring the beef broth to a boil again and add back in beef along with potatoes. Let it simmer on medium low heat for 15 minutes.
Add the sautéed onion and carrot mixture along with shredded cabbage, salt and pepper. Cook for 10 minutes.
Add grated beet mixture and let it simmer again for 7-8 minutes.
Stir in 2 Tbsp white vinegar along with chopped dill, parsley and sliced garlic, and let it simmer for 2 minutes. Taste and adjust for salt and vinegar.
Let it sit at least for 30 minutes to meld all the flavors. Serve with fresh dill, a few garlic slices and a dollop of sour cream.
