Preheat your oven to 175°C (350°F) and grease your cake pans thoroughly, lining the bottoms with parchment paper
In a large bowl, whisk together flour, sugar, cocoa powder, baking powder, baking soda, and salt until evenly combined
In another bowl, mix milk, oil, eggs, and vanilla extract until smooth
Gradually add the wet mixture into the dry ingredients while stirring continuously
Mix until a smooth batter forms with no lumps
Slowly pour in the boiling water and stir carefully until fully incorporated; the batter will be thin, which is normal
Divide the batter evenly between the prepared pans
Tap pans lightly on the counter to remove air bubbles
Place in the oven and bake for 30–35 minutes or until a toothpick inserted into the center comes out clean
Remove cakes from the oven and allow them to cool in the pans for about 10 minutes
Carefully transfer the cakes onto a cooling rack and let them cool completely
While cakes cool, prepare the frosting by beating softened butter until creamy
Add cocoa powder and mix until fully blended
Gradually add powdered sugar, mixing on low speed to avoid spills
Add vanilla extract and a pinch of salt
Pour in milk a tablespoon at a time until the frosting reaches a smooth, spreadable consistency
Place one cake layer on a serving plate and spread a generous amount of frosting evenly on top
Add the second cake layer and frost the top and sides evenly
Smooth the frosting with a spatula or create decorative swirls as desired
Let the cake sit for at least 30 minutes before slicing to allow flavors to settle