Preheat the oven to 350°F and line a muffin tin with cupcake liners.
In a medium bowl, whisk flour, baking powder, and salt together.
In a large bowl, beat butter and sugar until light and fluffy. Add eggs one at a time, then mix in vanilla.
Gradually add dry ingredients, alternating with milk, beginning and ending with flour mixture.
Divide batter evenly among cupcake liners and bake for 18 to 20 minutes, until a toothpick comes out clean.
Cool cupcakes completely, then cut a small circle in the center of each and fill with dulce de leche.
Top with whipped cream or frosting, and drizzle with more dulce de leche before serving.