Preheat the oven to gas 4, 180°C, fan 160°C. Lightly grease a 900g (2lb) loaf tin and line with nonstick baking paper. Combine the cranberries and marzipan with 1 tbsp flour, and set aside.
Put the butter and sugar in a large bowl and beat with an electric whisk until pale and fluffy. Gradually add the egg, beating well between each addition. Fold in the ground almonds, remaining flour, orange zest, almond extract and the reserved cranberries and marzipan. Transfer the mixture to the tin and smooth the top.
Bake for 50 minutes or until a skewer inserted into the middle comes out clean, then remove and rest in the tin for 10 minutes, before tipping out onto a wire rack to cool completely.
For the topping, put the cranberries, sugar, vanilla and orange juice in a saucepan, and cook on a medium heat for 6-8 minutes, stirring until jammy. Set aside to cool and thicken. Meanwhile, mix the icing sugar with enough orange juice to make a smooth, runny icing. Drizzle over the cake and top with the cranberry mixture.
See more Christmas recipes.