Preheat your oven to 350 F (175 C). Grease and flour two 9-inch round cake pans.
In a bowl, whisk together flour, sugar, baking powder, baking soda, salt, and cocoa powder.
In a separate bowl, combine oil, buttermilk, eggs, red food coloring, vanilla extract, and vinegar.
Gradually add the dry ingredients to the wet ingredients, mixing until just combined.
Divide the batter evenly between the prepared pans and 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 them to a wire rack to cool completely.
For the cream cheese frosting, In a bowl, beat together cream cheese and butter until smooth.
Gradually add powdered sugar, beating well after each addition.
Add vanilla extract and beat until the frosting is smooth and creamy.
Once the cakes are completely cooled, spread a layer of cream cheese frosting on top of one cake layer. Place the second layer on top and frost the top and sides of the entire cake with the remaining frosting.