Preheat the oven to 160°C fan. Grease and line a 22cm cake tin with baking paper. Ensure there are no gaps around the base of the cake tin, the caramel can easily stick to the cake tin and ruin the cake.
Start with the topping. Add the butter, brown sugar, cardamom, cinnamon, ginger and salt to a small saucepan over low heat. Stir until glossy and mostly combined. If the sugar and butter split, add a tablespoon of water and mix to combine
Scatter over the chopped pistachios. Pour the mixture into the base of the cake tin and spread evenly.
Add the pistachios for the cake batter to a food processor and blitz until they resemble a fine coarse flour, similar to almond meal.
In a large bowl, beat together the softened butter and caster sugar for several minutes until pale and fluffy.
Add the eggs one at a time, beating well between each addition. Mix through the sour cream, vanilla and orange zest.
Fold through the ground pistachios, flour, baking powder, spices and salt until just combined. Let the batter sit for 5 minutes before baking so the pistachio meal hydrates slightly.
Carefully spoon the batter over the pistachio topping and smooth the surface.
Bake for 55 - 65 minutes or until the centre feels set and a skewer comes out with moist crumbs attached. If the cake darkens too quickly, loosely tent with foil for the final part of baking.
Allow the cake to cool in the tin for at least 20 minutes before carefully inverting onto a serving plate.