Preheat oven to 350°F (180°C). Grease and line two 9-inch (23 cm) round cake pans with parchment paper. Whisk together flour, cocoa powder, espresso powder, baking powder, baking soda and salt until combined; set aside.
Using electric mixer, beat butter with sugar until light and fluffy; beat in eggs, one at a time, making sure each egg is fully incorporated before the next addition. Beat in vanilla.
With mixer on low, alternately add the flour mixture in 3 parts and buttermilk in 2 parts, starting and ending with flour mixture; scrape down the bowl as needed between additions.
Pour batter into prepared pans; smooth top. Bake until tester comes out clean when inserted into centre, approximately 25 to 30 minutes. Transfer to rack; let cool completely.
Frosting: Using electric mixer, beat butter on high speed until light and creamy; beat in melted and cooled chocolate, cocoa powder and salt until smooth. Beat in icing sugar. Stir in milk and vanilla; beat until creamy.
If frosting is too soft to spread, refrigerate for 5 to 10 minutes. Smear a little frosting on a serving plate to prevent the cake from sliding. Place the first cake in the centre of the plate and spread 1 cup (250 mL) of frosting on top. Top with second cake layer; frost the top and sides of cake with remaining frosting. Refrigerate cake for at least 2 hours before serving.