Preheat oven to 350°F (175°C). Grease and flour two 9-inch round cake pans.
In a large bowl, whisk together flour, sugar, cocoa powder, baking powder, baking soda, and salt until well combined.
In a separate bowl, whisk together buttermilk, oil, eggs, and vanilla extract until emulsified and smooth.
Pour wet ingredients into dry ingredients and mix on low speed until just combined. Do not overmix.
Carefully stir in boiling water until batter is smooth. The batter will be thin.
Divide batter evenly between prepared pans and bake for 30-35 minutes, until a toothpick inserted in center comes out clean.
Cool cakes in pans for 10 minutes, then turn out onto cooling racks to cool completely.
For frosting: Beat softened butter until fluffy. Gradually add powdered sugar and cocoa, alternating with milk. Beat until smooth. Add vanilla and salt.
Frost cooled cake layers and serve.