Heat oil in a large saucepan over medium heat.
Add the onion, carrot and celery and cook, stirring gently for 5-10 minutes.
Add the garlic & cook for 30 seconds, stirring constantly.
Add the spices and the sweet potato. Stir.
Add the lentils, barley, tomato paste, tomatoes and chilli.
Cover with stock and bring to the boil. Turn heat down, and simmer for 30-40 minutes.
Season to taste before serving.
If the soup becomes too thick, especially after refrigerating, you can always add a little water.