Preheat the oven to 350°F (175°C).
Grease and flour two 9-inch round cake pans.
In a large mixing bowl, combine flour, sugar, cocoa powder, baking powder, baking soda, and salt.
In another bowl, whisk together eggs, milk, oil, and vanilla extract until well combined.
Gradually add the wet mixture to the dry ingredients, stirring until just combined.
Divide the batter evenly between the prepared pans.
Bake for 30-35 minutes or until a toothpick inserted in the center comes out clean.
Allow the cakes to cool in the pans for 10 minutes before inverting them onto a wire rack to cool completely.
Once cool, place one layer of cake on a serving platter and spread a generous layer of caramel on top.
Position the second cake layer on top, then frost the entire cake with whipped cream.
Drizzle additional caramel sauce over the top and garnish with chocolate shavings or sprinkles.