Preheat oven to 350°F (175°C). Grease and flour two 9-inch round pans or line with parchment.
Whisk flour, sugar, cocoa powder, baking powder, baking soda, and salt in a large bowl.
Add buttermilk, oil, eggs, and vanilla. Mix on medium until mostly smooth.
Slowly pour in hot water while mixing on low. Batter will be thin—that’s normal.
Divide batter between pans. Bake 30–35 minutes until a toothpick comes out clean.
Let cakes cool in pans for 10 minutes, then transfer to a wire rack.
Beat butter until creamy. Gradually mix in powdered sugar, cocoa, buttermilk, vanilla, and salt. Adjust thickness with a bit more buttermilk if needed.
Frost one cake layer, top with the second, then cover top and sides with remaining frosting.