Preheat your 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, whisk together the oil, buttermilk, eggs, food coloring, vanilla, and vinegar.
Gradually add the dry ingredients to the wet ingredients, mixing until smooth and well combined.
Divide the batter evenly between the prepared cake pans. Bake for 30 minutes, or until a toothpick inserted into the center comes out clean.
Let the cakes cool in the pans for 10 minutes, then remove from pans and cool completely on a wire rack.
For the frosting, beat the cream cheese and butter together until smooth. Gradually add the powdered sugar and vanilla, beating until light and fluffy.
Frost the cooled cakes, layering one on top of the other. Spread the remaining frosting over the top and sides of the cake.