Combine the beef, pork and water in a large stockpot and bring to a boil over high heat. Skim thoroughly and reduce the heat to low. Add the rest of the stock ingredients, and season with salt and pepper, to taste. Simmer partially covered, until the meat is tender, about 1 1/2 hours. Strain the stock, removing the meats. You should have 10 to 11 cups of stock. Discard the marrow bones. Cut the beef and the pork into 1 1/2-inch chunks, discarding the pork bones. Reserve the meats.
While the stock is cooking, preheat the oven to 375 degrees F. Wrap the beets separately in aluminum foil and bake until a tip of a small knife slides in easily, about 45 minutes. Unwrap the beets, plunge them into a bowl of cold water, then slip off the skins. Grate the beets a 4-sided box grater or shred in a food processor, and set aside
In a large, heavy soup pot, cook the bacon in the butter over medium heat until it renders its fat. Add the onion, carrot, and pepper, and saute until softened, about 7 minutes. Add the cabbage, and saute, stirring, for another 7 minutes. Add the stock, the potatoes, tomatoes, apple, and the reserved meats. Season with salt to taste, and simmer until the potatoes are almost tender, about 15 minutes. Stir in the reserved beets and cook the soup over medium-low heat until all the vegetables are soft and the flavors have melded, about 25 minutes more.
With a mortar and pestle, pound the garlic, pepper, and parsley to a paste and add it to the soup. (If you don't have a mortar and pestle, just use ground pepper, crushed garlic and minced parsley.) Stir in the vinegar and the sugar, adjusting the balance of sweet and sour, to taste. Let the borshch stand for 10 minutes before serving (or better serve the next day.) To serve, add a teaspoon of sour cream to each bowl and sprinkle liberally with dill and scallions. Instruct the diners to mix the sour cream well into the soup.
Recipe courtesy of Anya von Bremzen, The Greatest Dishes: Around the World in 80 Recipes, HarperCollins, 2004