Preheat oven to 350 degrees. Butter and flour three 9-inch cake round pans.
Mix together flour, sugar, dark cocoa, baking soda, baking powder, and salt with hand or stand mixer on low until combined.
add eggs, buttermilk, warm water, oil, and vanilla. Beat at medium speed until smooth.
Divide batter among the 3 pans. I will use a cup measure to divide evenly between the pans.
Bake for 30-35 minutes until a toothpick inserted into the center of the cake comes out clean. Don't over bake.
Cool on wire racks for about 15 minutes and then turn out the cakes onto the racks to cool completely. Don't hurry this process.
In a large bowl, beat together butter and cream cheese until fluffy with a hand or stand mixer.
Add in the dark cocoa powder and vanilla extract and beat on low until combined.
Beat in powdered sugar, 1 cup at a time. You may need to add more powdered sugar if you like the taste sweeter. Add milk a little at a time as needed until the frosting is at spreadable consistency. The frosting should be thick for easy spreading.