Preheat oven to 180 C / 350 F. Grease and line 3, 20 cm round cake pans.
Sift cake flour, cocoa powder, baking powder and bicarbonate soda into a large bowl. Set aside.
Place butter and sugar in a large bowl. Using an electric hand held or stand mixer, beat for about 2 minutes, or until the mixture is light and fluffy.
Add egg yolks, vinegar and vanilla extract. Beat again on high for about 2 minutes.
With the mixer on low speed, add in flour mixture (2-3 additions) alternating with buttermilk, making sure the mixture is well combined between each addition.
Add red food coloring. Beat until just combined.
In another bowl, beat egg whites for about 3 minutes or until peaks form.
Fold egg white mixture gently into the cake batter.
Divide the batter among the cake pans. Bake for about 25-30 minutes or until a skewer inserted into the middle of the cake comes out clean.
Remove cake from oven.
Allow to cool in the pan for about 10 minutes before turning onto a wire rack to cool completely.
To make the cream cheese frosting, using an electric hand held or stand mixer, beat together cream cheese and butter for about 2 minutes or until smooth.
Add sugar, vanilla extract, 1 tablespoon milk and salt. Beat again until well combined.
Add more milk, if required, to achieve the desired consistency.
Decorate cake with the frosting.