Preheat oven to 350°F and grease three 9-inch cake pans. Optionally, line with parchment paper.
Beat butter until fluffy, then mix in sugar for 5 minutes. Add eggs one at a time, mixing well after each addition.
Alternate adding flour and buttermilk, starting and ending with flour. Stir in vanilla and evenly divide batter among pans.
Bake for 25–30 minutes, or until a toothpick inserted in the center comes out clean. Cool completely on racks.
Combine frosting ingredients in a heavy pan and cook, swirling occasionally, until the mixture reaches 235°F–245°F (soft-ball stage).
Remove caramel from heat, beat until creamy, and spread over cooled cake layers. Allow to set before serving.