Preheat oven to 180 degrees Celsius (350 degrees Fahrenheit).
Place the coconut oil in a large bowl and melt over a saucepan of boiling water or in the microwave (skip this step if not using any other oil).
Once melted, add the yogurt to the same bowl along with the vinegar, date syrup, vanilla, salt, ginger and ground almonds.
Sift in the flour, baking powder, bicarbonate of soda and mixed spice.
Transfer the mixture into a loaf tin lined with greased baking paper - I used a one-pound loaf tin.
Bake in oven for around 40 minutes until risen slightly and an inserted skewer comes out clean.
Once out the oven, transfer the cake from the baking tin onto a wired rack to leave it to cool completely before applying the frosting.
For the frosting:
Drain the soaked cashews and add to a food processor or blender with the maple syrup and lemon juice.
Whizz until completely smooth, adding some plant-based milk or water to thin out if necessary.
To frost and decorate the cake:
Use a knife (or palette knife) to spread frosting over the top of the loaf.
Decorate with chopped dried cranberries, if desired.
Tastes best when fresh, but keeps covered in the fridge for up to a few days.
* *You can use any type of plant-based yogurt: almond, soy, cashew or coconut yogurt all work well. If you can't find plant-based yogurt, you can replace it with any type of plant-based milk, or use an equivalent amount of blended up silken tofu.**Freshly grated ginger can be quite strong, so if making this for children or for people who don't like ginger, you might want to use a little less. If you can't use freshly grated ginger, you can substitute around 1 tablespoon ground ginger instead - the flavour is better with freshly grated ginger though!***You can alternatively use almond flour.