Preheat the oven to 350°F (175°C). Grease and flour two 9-inch round cake pans.
In a medium bowl, whisk together the flour, baking powder, and salt. Set aside.
In a large mixing bowl, beat the softened butter and granulated sugar until light and fluffy, about 3-4 minutes.
Add the eggs one at a time, beating well after each addition. Stir in the vanilla extract.
Alternately add the flour mixture and milk to the butter mixture, beginning and ending with the flour mixture. Mix until just combined.
Divide the batter evenly between the prepared pans and smooth the tops.
Bake for 30-35 minutes or until a toothpick inserted into the center comes out clean. Remove from oven and allow cakes to cool in pans for 10 minutes before transferring to a wire rack to cool completely.
For the Frosting: In a medium saucepan over medium heat, melt butter and brown sugar together, stirring constantly until the mixture begins to bubble gently (about 2-3 minutes).
Slowly stir in the milk and bring to a low boil, continuing to stir for 1-2 minutes until thickened slightly. Remove from heat and let cool for 5 minutes.
Gradually whisk powdered sugar into the caramel mixture until smooth and spreadable. Stir in vanilla and a pinch of salt.
Once the cakes are completely cool, spread the caramel frosting evenly between the layers and over the top and sides of the cake.