Preheat your oven to 350°F (175°C) and line a cupcake pan with liners.
In a mixing bowl, cream together the butter and sugar until light and fluffy.
Add the eggs one at a time, beating well after each addition. Stir in the vanilla extract.
In another bowl, whisk together the flour, baking powder, and salt. Gradually add to the butter mixture, alternating with the milk, beginning and ending with the flour mixture.
Fill the cupcake liners about ⅔ full and bake for 20-25 minutes or until a toothpick inserted into the center comes out clean. Let cool completely.
Once cooled, cut a small hole in the center of each cupcake and fill with caramel sauce.
For the frosting, beat the butter until creamy. Gradually add the powdered sugar, then beat in the caramel sauce and salt until smooth and fluffy.
Frost the cupcakes and drizzle with extra caramel sauce if desired.