Prepare the Broth: In a large soup pot, combine the water, chicken broth, and pork ribs. Bring everything to a boil over medium-high heat. Reduce the heat to a gentle simmer and allow the broth to cook uncovered. Skim off any foam that rises to the surface to keep the broth clear. Meanwhile, prepare the remaining ingredients.
Cook the Beets and Carrots: Heat 2 tablespoons of olive oil in a skillet over medium heat. Add the grated beets and carrots, stirring often, and cook them for about 10 minutes until softened. Transfer the mixture into the soup pot and simmer for another 20 minutes on low heat. This enhances the soup's flavor and rich color.
Add the Potatoes and Sauté the Vegetables: Toss the chopped potatoes into the soup pot and cook them on a low boil for 10 minutes. While they cook, heat the remaining 2 tablespoons of olive oil in the same skillet. Sauté the diced onion and celery for about 8 to 10 minutes, or until they are softened and lightly golden. Stir in the ketchup, cook for another minute, and then add this mixture to the soup pot.
Finish the Soup: Once the ribs are fully cooked and tender, remove them from the soup pot. Let them cool slightly, then use a fork to separate the meat from the bones. Discard the bones and return the shredded meat to the pot. Add the shredded cabbage, garlic, dill, and vinegar, and stir everything together. Let the soup simmer for 5 more minutes over medium heat. Taste and adjust the seasoning with additional salt, black pepper, or vinegar, as needed. If desired, add a bay leaf during this step.
Serve and Garnish: Remove the bay leaf before serving. Ladle the soup into individual bowls and top each serving with a dollop of sour cream or mayonnaise. Garnish with additional fresh dill for extra flavor.
Storing Leftovers: Transfer leftovers to an airtight container and refrigerate for up to 4 days. Alternatively, freeze for up to 3 months for longer storage.