Preheat the oven to 350°F (175°C). Grease two 9-inch round cake pans, lightly flour them, and line the bottoms with parchment paper.
Whisk together the flour, baking powder, baking soda, and salt in a medium bowl. Set aside.
Beat the softened butter and sugar in a large bowl for 4–5 minutes until pale and fluffy.
Add the eggs one at a time, beating well after each. Stir in the vanilla extract.
Add the flour mixture in three parts, alternating with buttermilk in two parts, starting and ending with the flour mixture. Mix until just combined.
Divide the batter between the two pans. Smooth the tops and bake for 28–32 minutes, or until a toothpick inserted comes out clean.
Cool the cakes in the pans for 10 minutes, then transfer to wire racks to cool completely.
Beat the butter until creamy. Gradually add powdered sugar, vanilla, salt, and cream. Beat until smooth and fluffy.
Place one cake layer on a serving plate. Frost with a generous amount of buttercream, top with the second layer, and frost the top and sides. Decorate as desired.