Prepare the Cake Batter: Start by preheating your oven to 350°F (175°C) and greasing two 9-inch round cake pans. In a medium bowl, whisk together the flour, baking powder, and salt. In a large bowl, beat the softened butter and sugar until light and fluffy, then add the eggs one at a time, mixing well after each addition. Stir in the vanilla extract until fully incorporated.
Combine Wet and Dry Ingredients: Alternately add the dry flour mixture and the milk to the butter mixture, beginning and ending with the flour. Mix on low speed just until combined, being careful not to overmix the batter as this can make the cake dense. The batter should be smooth and slightly thick, ready to be divided evenly between the prepared pans.
Bake the Cake Layers: Pour the batter into the prepared pans and smooth the tops with a spatula. Bake for 25–30 minutes, or until a toothpick inserted into the center comes out clean. Remove from the oven and let the cakes cool in the pans for 10 minutes, then turn them out onto wire racks to cool completely before frosting.
Make the Chocolate Frosting Base: While the cakes cool, beat the softened butter in a large bowl until creamy and pale. Sift in the powdered sugar and cocoa powder to avoid lumps, starting with half of the mixture. Mix on low speed until combined, then gradually add the remaining sugar and cocoa, beating until smooth.
Adjust Consistency and Flavor: Add the vanilla extract, salt, and 3 tablespoons of heavy cream to the frosting mixture. Beat on high speed for 2–3 minutes until the frosting is light, fluffy, and spreadable. If it’s too thick, add another tablespoon of cream; if too thin, add more powdered sugar. Taste and adjust sweetness if needed.
Level the Cake Layers: Once the cakes are completely cool, use a serrated knife to trim any domed tops so they are flat. This ensures the layers stack evenly and the cake doesn’t slide when frosted. Brush away any loose crumbs to keep the frosting clean and smooth.
Assemble the Cake: Place one cake layer on a serving plate or cake stand. Spread a generous layer of chocolate frosting over the top, leaving a small border around the edge. Place the second cake layer on top, pressing down gently to secure it. Apply a thin crumb coat of frosting around the entire cake and chill for 15 minutes to set.
Frost and Decorate: Spread the remaining frosting over the chilled cake, smoothing the sides and top with an offset spatula or bench scraper. Create swirls or peaks on top for a rustic look, or keep it smooth for a classic finish. Slice and serve immediately, or store in an airtight container until ready to enjoy.