Preheat the oven to 180°C/160°C fan/350°F/gas mark 4. Grease a 23cm / 9inch square cake tin and line it with baking parchment.
Whisk together the milk, yogurt, lemon juice and vanilla and almond extracts in a jug. Set aside.
Cream together the vegan butter and caster sugar with an electric mixer until light and fluffy.
Whisk in the baking powder, cornflour and salt then whisk in half of the wet ingredients.
Add half of the flour, whisk until it is just combined then whisk in the rest of the wet ingredients followed by the other half of the flour. Whisk until you have a thick, smooth batter.
Fold through the cranberries, reserving a few to add to the top of the cake.
Transfer the batter to the prepared tin and spread it level. Dot over the remaining cranberries and press them gently into the batter.
Scatter generously with flaked almonds then sprinkle with demarera sugar.
Bake the cake for 40-45 minutes, until a skewer inserted into the centre (but not into a cranberry!) comes out clean.
Leave the cake to cool in the tin for 20 minutes then carefully lift it out of the tin and transfer it to a wire rack to cool completely. Best eaten on the day it is baked.