In your large pot, heat 2 tablespoons of olive oil over medium heat. Add the chopped onion, celery, and red bell pepper (if using), and sauté until they are softened, about 5-7 minutes. Stir in the grated beets and continue cooking for another 5 minutes.
Next, add the sliced carrots, potatoes, and bay leaves to the pot. Stir well to combine all the ingredients.
Carefully pour in the chicken broth and water, bringing the mixture to a gentle boil. Once boiling, reduce the heat to low and let it simmer for about 20 minutes, or until the potatoes are tender.
Stir in the ketchup (or tomato sauce), cannellini beans with their juice, garlic, vinegar, sea salt, and black pepper. Taste and adjust the seasoning as needed, adding more vinegar for acidity or salt for flavor.
Allow the borscht to simmer for an additional 10-15 minutes to meld the flavors together. Just before serving, stir in the chopped dill for a fresh burst of flavor.
Ladle the borscht into bowls, and if desired, garnish with additional dill and a dollop of sour cream or yogurt. Enjoy it hot, or let it cool and serve it chilled!