Heat olive oil in a large pot over medium heat. Add onions, carrots, celery, and tomato paste. Cook, stirring often, until the veggies soften and the onions look clear, about 8 to 10 minutes.
Add garlic, fennel, black pepper, 1/2 teaspoon of salt, and red pepper flakes. Stir and cook for one minute.
Pour in the canned tomatoes (with their juices) and the broth.
Add potatoes, cabbage, and bay leaves. Turn up the heat to bring the soup to a boil. Partially cover the pot, then reduce the heat to let it simmer gently.
Simmer for 20 minutes, or until the potatoes and veggies are tender. Add the frozen peas and cook for another 5 minutes.
Remove from heat and take out the bay leaves. Stir in cider vinegar or lemon juice. Taste and adjust with more salt, pepper, or vinegar if needed. Serve hot.