First, preheat your oven to 160C/140C fan/Gas 3. Line a loaf tin with a sheet of baking paper (non-stick greaseproof paper) – I like to just shove it straight in there. Don’t mind the creases. At this point, you should peel and grate your carrots, and chop the nuts if using.
In a large bowl, weigh your butter. If it isn’t really soft, give it a zap in the microwave until it’s pretty much melted. Add in your sugar and eggs and beat these together until smooth and light – a minute or two should do.
Add in your flour, baking powder and cinnamon and very gently mix until mostly combined, but still very lumpy. At this point, add your grated carrots, nuts and raisins if using, and mix everything together until the carrots are distributed evenly. Don’t overmix.
Transfer your mix to your loaf tin and bake slowly – check it after 40 minutes by pressing to make sure it’s bouncy on top and sticking a skewer or knife through the middle. If it comes out wet, give it another 10 minutes. When it’s done, leave to cool.
Make the icing – start by softening your butter in the microwave if needed. Add in your icing sugar and gently mix to combine. This will make a very stiff mixture. When you feel like you’re getting nowhere, add your cream cheese and whisk on a high speed until you’ve got a light, fluffy icing.
When your cake is cool, remove from the tin and spread your icing on top. For an extra flourish, you could add sprinkles of cinnamon or a few nuts on top, but I like it plain and simple.
When it comes to the icing, only full fat cream cheese will do. If you’re struggling with a runny icing, don’t be tempted to add loads more icing sugar. Just keep whipping with an electric whisk and it will eventually thicken up.