Preheat your oven to 350°F (175°C) and grease two 9-inch cake pans. Line them with parchment paper for easy removal.
In a large bowl, sift together flour, sugar, cocoa powder, baking powder, baking soda, and salt.
Add eggs, milk, oil, and vanilla extract to the dry mixture. Mix until smooth.
Slowly add boiling water to the batter, mixing until fully incorporated. The batter will be thin.
Divide the batter evenly between the cake pans and bake for 30-35 minutes or until a toothpick inserted in the center comes out clean.
Let cakes cool in pans for 10 minutes, then transfer to a wire rack to cool completely.
For the frosting, beat cream cheese and butter together until smooth. Gradually add powdered sugar, vanilla extract, and a pinch of salt. Beat until fluffy.
Frost the cooled cakes, layering the frosting between the cake layers and covering the outside.
Notes
For a richer cake, use dark cocoa powder. Store leftover cake in the refrigerator for up to 5 days.