Preheat your oven to 350°F (175°C). Grease and flour two 9-inch round cake pans.
In a large mixing bowl, combine the flour, sugar, cocoa powder, baking powder, baking soda, and salt. Whisk together until well blended.
Add the eggs, milk, vegetable oil, and vanilla extract to the dry ingredients. Beat on medium speed for about 2 minutes until smooth.
Carefully stir in the boiling water until the batter is well combined (the batter will be thin).
Pour the batter evenly into the prepared cake 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, then remove from the pans and transfer to a wire rack to cool completely.
For the frosting, beat the softened butter in a large bowl until creamy. Gradually add the powdered sugar and cocoa powder, mixing on low speed until combined.
Add the heavy cream and vanilla extract, then beat on high speed for about 2 minutes until fluffy.
Once the cakes are completely cool, place one layer on a serving plate. Spread a layer of frosting on top, then place the second cake layer on top and frost the top and sides of the cake.
Chill the cake for at least 30 minutes before serving to set the frosting.