In a large heavy-bottomed pot melt the butter over medium-high heat. Once the foaming subsides, add the onion and cook until translucent and soft, about 5 minutes. Add the garlic and cook until fragrant, about 1 minute.
Slowly add in the beef bone broth while scraping up any browned bits from the bottom of the pot. Add in the beets, carrots, celery, bay leaves, caraway seeds, and allspice. Bring the mixture to a low boil, and cook until the vegetables are tender, about 10-15 minutes.
Turn off the heat and remove the bay leaves. Add in the vinegar, sugar, and salt and pepper to taste.
Ladle soup into bowls and serve with sour cream and fresh chopped dill (both optional).