Start by pre-heating your oven to 180c/350f. Also grease and line two 8 inch cake tins.
In a large bowl, whisk together the sugar, oil, eggs, yoghurt and vanilla.
In a separate bowl, whisk together the flour, baking powder, baking soda, cinnamon, ginger, cardamom powder and nutmeg. Add this into the wet ingredients and whisk everything together just until you get a smooth batter.
Now mix in the grated carrots. If you are adding walnuts and raisins, add them at this point too.
Pour this into your cake tins and bake in your pre-heated oven for around 45-55 minutes, or until a toothpick inserted into the centre comes out clean.
Once baked, leave them to cool completely.
In a large bowl, add the softened butter, half of the icing sugar and the vanilla. Mix all this together.
Add the rest of the icing sugar, mix until incorporated, then beat this for 5 minutes.
Now add the cream cheese and beat until you get a smooth, thick frosting.
Leave this aside until you're ready to use it.
Once the cake layers have completely cooled, you can ice and decorate them.
Add one of the cake layers down onto a cake board or plate, spread a layer of the frosting over this, then add the second cake layer.
Now you can decorate the cake however you want. I just covered the cake in the frosting, added a swirl on top, then I covered the sides with some chopped walnuts.
Cut into it and enjoy!
