Preheat the oven to 350°F.
Grease two 9-inch round cake pans.
Line the bottoms with parchment rounds and lightly grease the parchment.
Whisk together the flour, baking powder, baking soda, and salt.
Beat the softened butter, brown sugar, and granulated sugar until light and fluffy.
Add the eggs one at a time, beating after each addition.
Mix in the vanilla.
Add the dry ingredients in portions, alternating with the buttermilk, beginning and ending with the dry ingredients.
Mix only until the batter is combined.
Divide the batter evenly between the prepared pans and smooth the tops.
Bake at 350°F for 25–30 minutes, until the tops spring back lightly and a toothpick inserted in the center comes out clean.
Cool the cakes in the pans for 10–15 minutes.
Transfer the cake layers to a wire rack and cool completely.
Melt the butter for the frosting in a saucepan over medium heat.
Add the brown sugar, heavy cream, and salt.
Bring the mixture to a gentle simmer, stirring until the sugar has completely dissolved.
Continue cooking for about 3–4 minutes, stirring frequently.
Remove from the heat and stir in the vanilla.
Transfer the caramel mixture to a mixing bowl and let it cool until warm rather than hot.
Gradually beat in the sifted powdered sugar until the frosting is smooth and spreadable.
Place one cooled cake layer on a serving plate.
Spread caramel frosting over the top.
Place the second cake layer on top.
Cover the top and sides with the remaining caramel frosting while it is still spreadable.
Let the finished cake stand at room temperature for 15–20 minutes before slicing.