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 purée, black-eyed peas, peanut butter and 350ml 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 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.
