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, cream the butter and sugar together until light and fluffy. Add the eggs one at a time, beating well after each addition. Stir in the vanilla extract.
Gradually add the flour mixture to the butter mixture, alternating with the milk and sour cream, beginning and ending with the flour mixture. Beat until just combined.
Divide the batter evenly between the prepared cake pans. Bake for 25-30 minutes, or until a toothpick inserted into the center of the cakes comes out clean.
While the cakes are baking, make the caramel sauce. In a medium saucepan, combine the sugar and water. Cook over medium heat, stirring occasionally, until the sugar has dissolved.
Increase the heat to high and bring the mixture to a boil. Do not stir. Allow the mixture to boil until it turns a deep amber color, about 5-7 minutes.
Remove the saucepan from the heat and carefully whisk in the cream, butter, and sea salt. The mixture will bubble up and steam. Whisk until smooth and creamy.
Let the caramel sauce cool to room temperature. Reserve 1/2 cup of the caramel sauce for the frosting.
To make the frosting, cream the butter and cream cheese together in a large mixing bowl until smooth. Add the reserved caramel sauce and vanilla extract, and beat until well combined.
Gradually add the powdered sugar, one cup at a time, beating well after each addition. Beat until the frosting is light and fluffy.
Once the cakes are cool, spread a layer of frosting on top of one cake. Drizzle with caramel sauce. Place the second cake on top and frost the top and sides of the cake. Drizzle with more caramel sauce as desired.
Serve and enjoy your delicious Caramel Lover’s Cake!