Heat oil in a large pot over medium heat. Add onion, garlic and ginger and cook for 5 minutes.
Add red pepper flakes, oregano, thyme, and fennel seeds and saute for 2 minutes.
Turn heat down to medium low. Add carrots and celery, cook, stirring occasionally, for 10 minutes.
Add peppers, turn heat up to high and cook for 2 minutes. Keep stirring throughout.
Add tomato, stock, paprika, cumin, coriander powder and cayenne. Bring to the boil, then simmer for 7-8 minutes over a low heat.
Add the cabbage, cover the pot with a lid and simmer for 25 minutes.
Add salt and pepper to taste.
Ladle soup into bowls. Squeeze in the lemon juice and serve.