Preheat oven to 350°F (175°C). Line a muffin tin with cupcake liners.
In a medium bowl, whisk together the flour, baking powder, and salt.
In a large bowl, cream together the butter and sugar until light and fluffy. Beat in the eggs one at a time, then stir in the vanilla.
Gradually add the dry ingredients to the wet ingredients, alternating with the milk, beginning and ending with the dry ingredients. Beat until just combined.
Fill the cupcake liners about 2/3 full. Bake for 18-20 minutes, or until a toothpick inserted into the center comes out clean. Let cool in the tin for a few minutes before transferring to a wire rack to cool completely.
To make the frosting: In a large bowl, cream together the butter until light and fluffy. Gradually add the powdered sugar, beating until smooth. Beat in the milk and vanilla. Frost the cupcakes once they are completely cool.