01 - Preheat oven to 350°F. Grease and flour two 8-inch round cake pans, then line with parchment paper for easy removal.
02 - Sift flour, sugar, cocoa powder, baking powder, baking soda, and salt into a large mixing bowl. Whisk thoroughly to ensure even distribution.
03 - Add eggs, milk, oil, and vanilla to the dry mixture. Beat on medium speed with an electric mixer until smooth and fully incorporated, about 2 minutes.
04 - Carefully pour in boiling water while mixing on low speed. The batter will become thin and glossy—this is normal and ensures a moist crumb.
05 - Divide batter evenly between prepared pans. Bake for 30-35 minutes until a wooden skewer inserted in the center emerges clean.
06 - Let cakes cool in pans for 10 minutes, then invert onto wire racks. Allow to cool completely before frosting, approximately 1 hour.
07 - Beat softened butter until creamy and pale, about 3 minutes. Gradually sift in powdered sugar and cocoa powder, mixing on low speed to incorporate.
08 - Add vanilla and salt. Beat in milk one tablespoon at a time until frosting reaches spreadable consistency. Whip on high for 2 minutes for extra fluffiness.
09 - Place one cooled layer on a serving plate. Spread a generous layer of frosting over the top. Position second layer and frost the top and sides evenly.
10 - Smooth frosting with an offset spatula. Decorate as desired with piping, sprinkles, or chocolate shavings. Slice and serve at room temperature.