1. Preheat your oven to 350° F. Grease two 8-inch round cake pans generously with butter and line the bottoms with parchment paper. This will help to ensure that your cake comes out easily after baking.
2. In a large mixing bowl, combine butter and sugar using an electric mixer. Beat on medium speed until the mixture is light and fluffy, which should take about 3 to 5 minutes. This step is crucial as it incorporates air into the batter, helping the cake rise.
3. Add the vanilla and beat until well combined. Follow this by adding the eggs, one at a time, ensuring each is fully incorporated before adding the next. You want a smooth and well-mixed batter.
4. In a separate bowl, whisk together the flour, baking powder, baking soda, and salt. Gradually add this dry mixture to the wet ingredients, alternating with the buttermilk. Start and finish with the flour mixture, mixing until just combined.
5. Divide the batter evenly between the prepared cake pans. Smooth the tops and bake for 25 to 30 minutes, or until a toothpick inserted into the center comes out clean. This is the moment when your kitchen will start to smell heavenly.
6. Once baked, let the cakes cool in the pans for about 5 to 10 minutes. Carefully run a knife around the edges, then invert onto a wire rack to cool completely.
7. While the cakes are cooling, you can prepare the fudgy chocolate frosting. In a microwave-safe bowl, melt the chocolate chips and a pinch of salt in the microwave. Stir every 45 seconds until smooth and melted.
8. Remove the melted chocolate from the microwave and stir in the sour cream and optional espresso powder gradually, mixing until the frosting is silky and well-blended.
9. Once the cakes are completely cooled, place one layer on a serving plate. Spread a generous amount of the chocolate frosting on top, then carefully place the second cake layer on top. Use a spatula to smooth out any excess frosting around the edges.
10. For the brown sugar frosting, melt together the second batch of butter, brown sugar, and heavy cream in a saucepan over medium heat. Bring to a boil and let it bubble for about 2 minutes, ensuring the sugar dissolves completely.
11. Remove from heat and allow to cool slightly. In a mixing bowl, sift in the powdered sugar and add the vanilla. Beat until the frosting is glossy and pourable. If the frosting seems too runny, add more powdered sugar until the desired consistency is reached.
12. Pour the brown sugar frosting over the top of the cake, allowing it to cascade down the sides. For an extra touch, sprinkle with flaky sea salt and optional chocolate curls.
13. Slice, serve, and enjoy every rich bite of your homemade Caramel Butter Cake with Fudgy Chocolate Frosting!