Add boiling water to a small saucepan then keep on medium heat on the hob. Add the cashews to soak for around 20 minutes, so that they're soft enough to blend.
Heat the oil in a large frying pan or skillet. Add in the onion and garlic and cook for a few minutes until soft. Then add in the chopped red pepper and cook for a few minutes. Next, add in the tinned tomatoes and gently squish them with a spoon to break them apart. Now add in the tin of butter beans, with liquid and the tomato puree. Stir and simmer for 10 minutes.
Now add in the spices and herbs: smoked paprika, cumin, chilli powder, dried coriander, dried oregano, salt and pepper. Stir and simmer on low heat for 5 minutes.
Whilst the shakshuka is cooking, make the scrambled tofu. Heat the dairy-free butter in a small frying fan. Then add the silken tofu, nutritional yeast, onion & garlic granules, turmeric, salt and pepper and cook on medium heat, stirring regularly. Leave to one side.
Next, make the cashew cream. Drain the cashews and add them to a blender with the nutritional yeast, salt, pepper and cider vinegar. Blend until smooth.
Come back to the big pan of shakshuka and add in the fresh parsley and spinach, stir and cook for a few minutes until the spinach has wilted.
To Serve: Turn off the heat, then, using the back of a spoon, create small wells in the shakshuka for the vegan 'egg' to sit. Add spoonfuls of the tofu scramble to the little wells, then a spoonful of the cashew cream on top. Finally, sprinkle the whole dish with sumac and fresh parsley and serve with crusty bread.