This is traditionally made from the stock left over from boiled meats, but I had a couple of versions in Oaxaca, and this one had pieces of local cheese in it which you can find in Mexican and South American shops – or a good substitute would be thin slices of halloumi.
2tbsp vegetable or corn oil
2 onions, peeled, halved and very finely chopped
3-4 cloves of garlic, peeled and crushed
1 small green or red chilli, finely chopped
1.5ltrs of chicken or vegetable stock
200g passata, or coarsely-blended canned tomatoes
150g cooked weight of dried black beans, or canned and rinsed
Salt and freshly ground black pepper
A piece of Mexican cheese, or halloumi, thinly sliced
Heat the oil in a heavy-based saucepan and gently cook the onion, garlic and chilli for 2-3 minutes, without colouring, until soft. Add the stock and tomato, bring to the boil, season lightly and simmer gently for 30 minutes; add the beans and continue simmering for 15 minutes.
To serve, rub a preferably non-stick pan with a little oil, heat it until it's almost smoking, and fry the slices of cheese briefly, for 10 seconds or so on each side, lightly colouring them. Put the cheese into warmed soup bowls and spoon the soup on top.