Preheat your oven to 350°F (175°C). Grease and flour three 8-inch round cake pans.
In a medium bowl, whisk together the flour, baking powder, and salt.
In a large mixing bowl, beat the butter and sugar together until light and fluffy, about 3-4 minutes. Add the eggs one at a time, beating well after each addition. Mix in the vanilla extract.
Gradually add the dry ingredients to the wet ingredients, alternating with the milk, beginning and ending with the dry ingredients. Mix until just combined.
Fold in the dulce de leche gently until fully incorporated.
Divide the batter evenly among the prepared cake pans. Bake for 20-25 minutes, or until a toothpick inserted into the center comes out clean.
Allow the cakes to cool in the pans for 10 minutes before removing them from the pans. Transfer to a wire rack to cool completely.
For the frosting, beat the butter until creamy. Gradually add the powdered sugar, then the dulce de leche and heavy cream. Beat until light and fluffy. Add a pinch of sea salt if desired.
Frost the cooled cake layers, stacking them as you go, and cover the entire cake with a generous layer of frosting. Drizzle extra dulce de leche over the top for a finishing touch.