Heat the oil in a heavy-based lidded saucepan or Dutchie pot over a medium heat and add the onion. Cook for 4-6 minutes until softened but not coloured. Add the garlic, ginger, chilli, spices and bay leaves and cook for a further 2 minutes, adding a splash of water if needed. Add the sweet potato and red pepper and cook for 2-3 minutes to combine the flavours. Stir in the tomatoes, tomato puree, black-eyed peas, peanut butter and 350 ml stock until well combined. Season to taste.
Cover the pot and gently simmer over a low-medium heat for 20-25 minutes or until the sweet potato is tender. Stir every now and then, to prevent anything sticking to the base of the pot, adding a little more stock if needed. Stir in the spinach until just wilted. Stir in the coriander and then finish with a good squeeze of lemon and check the seasoning. Remove the scotch bonnet and bay leaves before serving.
Garnish with coriander leaves and serve with your favourite grains or roti.