Preheat your oven to 350°F (175°C). Grease and flour two 9-inch cake pans, lining the bottoms with parchment paper for easy removal.
In a large bowl, whisk together flour, sugar, cocoa powder, baking powder, baking soda, salt, and espresso powder.
Add milk, vegetable oil, eggs, and vanilla to the flour mixture and mix together on medium speed until well combined. Reduce the speed and carefully add boiling water to the cake batter. Beat on high speed for about 1 minute to add air to the batter.
Distribute cake batter evenly between the two prepared cake pans. Bake for 30-35 minutes, or until a toothpick inserted in the center comes out clean.
Remove from the oven and allow to cool for about 10 minutes, then remove from the pans and cool completely on a wire rack.
2. Making the Caramel Sauce:
Heat granulated sugar in a medium saucepan over medium heat, stirring constantly with a high heat resistant rubber spatula or wooden spoon. Sugar will form clumps and eventually melt into a thick brown, amber-colored liquid as you continue to stir. Be careful not to burn.
Once sugar is completely melted, immediately add the butter. Be careful as the caramel will bubble rapidly when the butter is added.
Stir the butter into the caramel until it is completely melted, about 2-3 minutes.
Very slowly, drizzle in the heavy cream while stirring. Since the heavy cream is colder than the caramel, the mixture will rapidly bubble and/or splatter when added.
Allow the mixture to boil for 1 minute. It will rise in the pan as it boils.
Remove from heat and stir in the vanilla and salt. Allow to cool down before using. It will thicken as it cools.