This soup is meaty, rooty and incredibly flavorful. I will be even delicious the next day after all flavors are merge together into a beautiful borshch symphony.
In a medium-large pot, combine the pork ribs, 1 whole onion, bay leaf, and water. Bring everything to a simmer over medium-high heat and season with a good pinch of salt. Lower the heat to medium-low and cook uncovered, skimming off any foam and impurities from the surface as they develop, until the meat is cooked all the way through, about 45 minutes then discard the onion and bay leaf.
Meanwhile, finely dice the remaining onion. In a medium sauté pan, heat the oil over medium heat. Add the onion and shredded carrot and cook, stirring occasionally, until the onion is soft and translucent, about 7 minutes. Add diced tomato and tomato paste, sauté for another 4 minutes or until the tomato is soft. Remove from the heat.
Add the potatoes and beets and bring to a simmer over medium heat, cook until the veggies are easily pierced with a knife, about 15 minutes. Then add the shreaded cabbage, bell pepper and onion-carrot mixture to the soup and simmer for about 10 to 15 minutes until the veggies are soft. Stir in the garlic nd chopped herbs and season to taste with sal and pepper.
Ladle borshch into bowls. Garnish each serving with some of the dill and parsley and a generous dollop of sour cream.