Heat the oil in a saucepan over a medium to low heat, add the onions and sweat, stirring from time to time, until very soft and just starting to take on some colour. Add the chillies, garlic, cumin, cayenne and allspice and stir for a minute.
Add the courgette, mushrooms and red pepper and stir to coat in the spices. Add the tomato puree, tinned tomatoes with their juice, pinto beans, red wine, parsley, coriander and oregano. Pour over 100ml to 150ml of water and add some salt and pepper.
Simmer gently for 25 to 30 minutes, stirring from time to time, until the veg are all tender and everything is thick and saucy.
Taste and adjust the seasoning if you think it needs it. Serve with rice and a good dollop of soured cream.
Black eyed beans or kidney beans can be used instead of pinto beans.