Put the oil in a large saucepan or stockpot on a medium heat, then add the cumin seeds and fry for 20-30 seconds, until aromatic. Add the onion and celery, if using, and cook, stirring frequently, for six to seven minutes, until the vegetables are soft and turning translucent.
Lower the heat, add the paprika, freshly ground coriander seeds, ground cumin and chilli flakes, then stir-fry for a minute.
Add the chopped tomatoes, black beans and stock, turn up the heat and bring to a boil.
Turn down to a simmer, cover partly, then simmer for 20 minutes (if you have the time, leave it to simmer for up to 40 minutes, but you may need to top up the stock). Add the juice of one lime, then taste and adjust the salt as needed.
Peel, stone and chop up half an avocado per person, then dress with the remaining lime juice and a scattering of flaky sea salt (if you’re saving half the soup for the next day, don’t chop all the avocados at once – do this just before you serve).
Serve the soup in warmed bowls, topped with the chopped avocado and coriander.
