Heat the oil in a large pan on medium heat. Add the onion along with a pinch of salt and stir occasionally for 5-6 minutes or until soft and starting to turn golden.
Once the onion starts to soften, add the finely chopped garlic, ginger, and sliced pepper and cook for a couple of minutes.
Next, add the ground cumin, ground turmeric, smoked paprika, and fenugreek. Mix well and stir for a minute or so to help release the flavours of the spices.
After a minute, stir in the tinned tomatoes, drained black beans, and stock or water. You can also rinse the tomato can with a splash of water and add this to the pan. If using tinned whole tomatoes, break these apart with a spoon. Cook for 10 minutes, adding as much extra stock as you want to maintain the desired consistency.
After 10 minutes, add the spinach, cashew cream, garam masala, lime zest, and lime juice. If using fresh coriander, chop some of the stems and throw these in as well. Cook for a few minutes until the spinach has wilted, adding extra liquid as necessary (the cashew cream will really thicken the curry).
Once the spinach has wilted down and you're happy with the consistency, adjust the seasoning and serve with chopped fresh coriander leaves. This curry is great alongside boiled basmati rice or vegan pilau rice.