01 - Preheat oven to 350°F. Generously grease two 8-inch round cake pans and line bottoms with parchment paper.
02 - Sift flour, sugar, cocoa powder, baking powder, baking soda, and salt into a large mixing bowl. Whisk to ensure even distribution.
03 - Add eggs, milk, oil, and vanilla extract to the dry mixture. Beat on medium speed with an electric mixer until smooth and thoroughly combined, about 2 minutes.
04 - Carefully pour in boiling water while mixing on low speed. Continue mixing until batter becomes thin and glossy. The batter will appear quite liquid.
05 - Divide batter evenly between prepared pans. Bake for 30 to 35 minutes until a wooden skewer inserted in the center comes out clean.
06 - Let cakes rest in pans for 10 minutes. Run a knife around edges, then invert onto wire racks. Cool completely before frosting, about 1 hour.
07 - Beat softened butter in a large bowl until creamy and light. Gradually sift in powdered sugar and cocoa powder, mixing on low speed to incorporate.
08 - Add vanilla and salt. Increase mixer speed to medium-high. Beat in milk one tablespoon at a time until frosting reaches smooth, spreadable consistency.
09 - Place first cake layer on serving plate. Spread about one-third of frosting evenly over top. Position second layer atop frosting.
10 - Spread remaining frosting over top and sides of cake. Use an offset spatula to create smooth, even surfaces. Decorate as desired. Slice and serve.