Heat the oil in a saucepan. Add the onion and cook over a low heat for 7–8 minutes, stirring occasionally, until beginning to soften. Stir in the celery and carrot and cook for 3 minutes, stirring frequently. Add the garlic, chilli, cumin and coriander and cook for a further minute, stirring constantly.
Add the lentils, stock and tomatoes with their juice, tomato purée and bay leaf. Bring to the boil, reduce the heat, then half-cover the pan with a lid and simmer for 25–30 minutes until the lentils and vegetables are very soft.
Remove the bay leaf from the soup. Blend the soup in the pan using a hand-held blender, or tip into a blender or food processor, process until smooth, then return the soup to the pan. Check the consistency; it will be fairly thick, so if you prefer it thinner, dilute with a little more stock.