For the cake
For the icing
1. Preheat the oven to 180C/fan 160C/gas 4. Grease two deep 20cm round sandwich tins and line the bases of the cake tins with baking parchment.
2. Put the oil, eggs, and sugar into a large mixing bowl. Whisk until the mixture is well combined, lighter, and noticeably thickened. Gently fold the carrot into the cake batter, then stir in the flour, baking powder, mixed spice, ginger, and chopped walnuts until evenly blended.
3. Spoon the mixture evenly between the tins. Put the cakes in the oven and bake for about 35 minutes, or until golden brown, risen, and shrinking away from the sides of the tins. Transfer to a wire rack to cool.
4. For the icing: Put the butter, icing sugar, cream cheese and vanilla extract in a bowl and whisk using a hand or electric whisk until smooth and thoroughly blended.
5. Spread half the icing on one cake, sit the other cake on top, and spread the remaining icing on top to make a swirl pattern. Decorate the top of the cake with the halved walnuts.