Preheat the oven to 180c, grease and line a 9 inch cake tin.
Sift the flour into a large bowl, add the spices, baking powder and ground almonds, stir until combined. Using a hand held or free standing mixer beat the butter and sugar together until pale and fluffy.
Beat in one egg at a time, ensuring the mix is not curdling before adding the next, don’t rush this stage, it might take 10 minutes or so.
Add this to the flour and stir in gently until almost combined. Add the carrots, walnuts, sultanas, orange juice and zest and stir together.
Spoon the mix into the cake tin and bake for 1-1.5hrs, checking after an hour with a sharp knife or cocktail stick. If the top starts to catch cover lightly with foil.
While the cake is cooking make the topping. In a bowl beat together the butter and icing sugar until very smooth, then gently fold in the crème fraîche until just combined. Place this in the fridge for a least an hour while the cake cools.
When the cake is completely cold, spoon the topping onto the middle of the cake and gently push it towards the edges with the back of a spoon. Decorate with chopped walnuts and some orange zest. Keep in an air tight box in the fridge for up to 5 days.