Preheat the oven to 350°F (175°C) and grease two 9-inch cake pans.
In a bowl, whisk together the flour, cocoa powder, baking soda, and salt.
In a separate large bowl, beat the butter and sugar until light and fluffy.
Add the eggs one at a time, mixing well after each addition.
Mix in the vanilla extract, vinegar, and red food coloring.
Alternately add the dry ingredients and buttermilk to the wet mixture, mixing until just combined.
Divide the batter evenly between the prepared cake pans and smooth the tops.
Bake for 28-30 minutes, or until a toothpick inserted in the center comes out clean.
Let the cakes cool in the pans for 10 minutes before transferring to a wire rack to cool completely.
For the frosting, beat the cream cheese and butter until smooth and creamy.
Gradually add the powdered sugar and vanilla extract, mixing until fluffy.
Frost the cooled cakes, stacking them and covering the sides and top evenly.
Chill the cake for 20 minutes before slicing and serving.