Preheat the oven to 350°F (180°C). Butter and line three (6-inch) round cake pans. Set aside.
In a medium bowl, whisk the flour, hazelnut flour, baking powder and salt together.
In the bowl of a stand mixer fitted with a paddle attachment (or with a medium bowl and a handheld electric mixer) beat the butter and sugar together on medium-high speed until light and fluffy, about 3 minutes.
Add the eggs, one at a time and mix well after each addition. Beat in the vanilla extract.
Alternate adding the dry ingredients and the milk, beginning and ending with the dry ingredients and stopping just as soon as everything is evenly mixed.
Divide the batter between the cake pans.
Bake for 30-35 minutes, or until a cake tester inserted in the middle comes out clean.
Let the cakes cool in the pans for 10 minutes before inverting onto a wire rack to cool completely.
Cut the domes off the tops of the layers (if any) to allow for even stacking.
Place the first layer on a serving plate and top with ¾ cup (6 oz/170 g) of frosting. Spread evenly all the way to the edges. Stack and fill the next layer. Top with the third layer and then cover the whole cake with a very thin layer of frosting to create a crumb coat. Refrigerate the cake for 30 minutes to seal the crumb coat.
With the remaining buttercream, frost the top and sides of the cake until completely covered.
Serve immediately or store, covered and at room temperature, for up to 2 days or refrigerated in an airtight container for up to 3 days.