Preheat the oven to 350 degrees. Butter 3 pieces of 9-inch cake rounds. Dust with flour and tap out the excess.
Mix together flour, sugar, cornstarch, cocoa, baking soda, baking powder, and salt in a stand mixer at a low speed until combined.
Add eggs, buttermilk, warm water, oil, vanilla, vinegar, and food coloring. Beat at a medium speed until it is smooth. This should take just a couple of minutes.
Divide the batter among the three prepared pans.
Bake for 30-35 minutes until the cake meets the �toothpick test� (stick a toothpick in and it comes out clean).
Leave it to cool on the wire racks for 15 minutes, then remove the cakes from the racks and allow it to cool completely before frosting.
Time to make the frosting! In a large bowl, beat together butter and cream cheese until it becomes fluffy. It is recommended to use a hand mixer or stand mixer for best results. Add in vanilla extract. Beat until it is mixed thoroughly. Finally, beat in some powdered sugar, 1 cup at a time until the frosting is smooth.
Assemble the cakes and start frosting when the cake is completely cooled.