Preheat the oven to 350°F (175°C). Grease and flour two 9-inch round cake pans.
In a large bowl, sift together the flour, sugar, baking soda, salt, and cocoa powder.
In another bowl, mix together the oil, buttermilk, eggs, food coloring, vanilla extract, and vinegar until well combined.
Gradually add the wet ingredients to the dry ingredients, mixing until just combined.
Divide the batter evenly between the prepared pans and smooth the tops.
Bake for 25-30 minutes, or until a toothpick inserted into the center comes out clean.
Allow the cakes to cool in the pans for 10 minutes before transferring to wire racks to cool completely.
For the frosting, beat the cream cheese and butter together in a bowl until creamy. Gradually add the powdered sugar and vanilla extract, mixing until smooth.
Once the cakes are completely cooled, place one layer on a serving plate, spread a layer of frosting on top, then place the second layer on top and frost the top and sides of the cake.