1. In a 6- to 8-quart pot, melt the butter over moderate heat. Add the onions and, stirring frequently, cook 3 to 5 minutes, or until they are soft but not brown.
2. Stir in the beets, then add the wine vinegar, sugar, chopped tomatoes, 1 teaspoon of the salt and a few grindings of black pepper. Pour in ½ cup of the stock, cover the pan and simmer undisturbed for 50 minutes.
3. Pour the remaining stock into the pot and add the shredded cabbage. Bring to a boil, then stir in the ham, frankfurters and beef. Submerge the tied parsley and bay leaf in the soup, add another teaspoon of salt, and simmer, partially covered, for ½ hour.
4. Transfer the borshch to a large tureen and sprinkle with fresh dill or parsley. Accompany the soup with a bowl of sour cream, to be added to the borshch at the discretion of each diner.