Preheat oven to 350°F. Grease and flour two 9-inch round cake pans.
In a big bowl, mix together the flour, sugar, baking soda, cocoa powder, and salt.
In another bowl, beat eggs, then add oil, buttermilk, food coloring, vanilla, and vinegar. Mix well.
Pour the wet ingredients into the dry and stir just until smooth.
Divide the batter between the pans. Bake for 25–30 minutes or until a toothpick comes out clean.
Let the cakes cool in the pans about 10 minutes, then flip onto wire racks to cool completely.
For the frosting, beat cream cheese and butter until creamy, add powdered sugar and vanilla, then beat until fluffy.
Frost the cake when it’s completely cool, and try not to eat all the icing before it gets on the cake.