In a large pot, heat the vegetable oil over medium heat. Add the chopped onion and cook until it becomes translucent, about 5 minutes.
Add the minced garlic and cook for another minute until fragrant.
Stir in the grated beets and carrots. Cook for about 5 minutes, stirring occasionally, until they start to soften.
Add the diced potatoes, shredded cabbage, and diced red bell pepper. Mix well.
Stir in the diced tomatoes, tomato paste, and beef or vegetable broth. Add the white vinegar, sugar, bay leaf, and dried dill. Season with salt and black pepper.
Bring the mixture to a boil, then reduce the heat to low. Cover and let it simmer for about 30-40 minutes, or until the vegetables are tender.
Adjust seasoning with additional salt and black pepper if needed. Remove the bay leaf before serving.
Ladle the borscht into bowls. Serve with a dollop of sour cream and garnish with fresh dill if desired.
Enjoy your meal!