Preheat oven to 180°C/350°F/Gas 4. Prepare two 8-inch round cake pans by spraying with non-stick cooking spray and lining the bottom with a parchment paper round. Set aside.
Cream the butter, shortening, and sugar in a large mixing bowl. Add in the egg whites and vanilla, and mix until smooth.
In a separate large bowl, combine the flour, baking powder, and salt. Slowly add the dry ingredients to the wet and mix to combine.
Add in the milk and continue mixing until smooth.
Divide the cake batter evenly between the prepared baking pans and place in the center of the preheated oven for 30-35 minutes, or until a toothpick inserted in the middle comes out clean. Remove from oven and let cool completely.
To make the buttercream frosting, cream the butter in a large mixing bowl with an electric mixer until perfectly smooth.
Sift in the powdered sugar and continue mixing until smooth.
Add the vanilla and mix to combine.
Slowly add in the milk, one tablespoon at a time, while mixing until reaching the desired consistency.
To frost the cake, first level the top of each cake layer by carefully slicing the rounded portion of the cake off. (A cake leveler works great for this). Put the leveled side down on a cake plate. Add a thin layer of buttercream frosting to the exposed top side.
Add the second cake layer, again with the leveled top side down. Add the remaining frosting to the top of the cake, slowly working it around from the middle of the cake top to the edges. Scrape some of the frosting over the edges and apply a thin layer of frosting to the sides of the cake.
Slice and serve immediately. Enjoy!