Heat oil in a large saucepan. Add onion, garlic, carrot, celery, rosemary and chilli and cook, stirring often until onion has softened, about 4 to 5 minutes. Add stock, tomatoes, barley and kidney beans. Bring to the boil, stirring occasionally. Reduce heat, cover and simmer for 35 to 40 minutes until barley is tender.
Stir in the spinach and cook until spinach has wilted, about 1 minute. Season with freshly ground black pepper and add parsley. The soup will keep covered in the refrigerator for up to 2 days.