Pre-heat the oven to 160C (320F) fan-forced and line a 12-hole muffin tin with cupcake liners.
In the bowl of an electric mixer, beat the butter, sugar and vanilla together until light and creamy.
Add the egg yolks one at a time and beat them in.
Take the bowl off the stand and sift in the flour and cocoa then stir them through.
Stir in the buttermilk.
Beat the egg whites until soft peaks form.
Add half the egg whites to the cake batter and gently fold them through then fold through the other half.
Divide the batter between the cupcake liners.
Bake the cupcakes for 20 minutes or until a cake tester inserted in the middle of one comes out clean.
Make the icing by beating the butter until it is pale. Add the icing sugar a little at a time, while mixing and then add the hazelnut spread. Keep beating until it gets light and fluffy. Add milk to get to to the right consistency.
Transfer the cupcakes to a wire rack to cool completely.
Spoon the icing into a piping bag fitted with a round nozzle and pipe rounds of icing onto the cupcakes.
Finish each one with a Ferrero Rocher.