Preheat the oven to 350F. Prepare 2 9-inch cake pans with a nonstick cooking spray and place a layer of parchment paper on the bottoms of the pan.
Whisk together the cake flour, cocoa powder, baking soda, and salt in a large mixing bowl. Sift the dry ingredients to remove any lumps.
In a separate large mixing bowl, cream the butter and sugar on medium for about 5minutes with an electric mixer. Gradually add in the eggs until fully combined,then add the oil, food coloring, vanilla extract, and vinegar. Scrape down the bowl as needed.
Mix in the dry ingredients and buttermilk 1/3 at a time. Alternate between 1/3 of dry ingredients, then 1/3 of the buttermilk, etc. Mix until just combined.
Distribute the batter evenly between the two prepared pans and tap against the counter to remove any air bubbles. Bake at 350F for 25-30 minutes or until a toothpick comes out clean. Remove the cakes from the oven and allow to cool in the pans for about 20 minutes before removing them and cooling them on a wire rack.
While the cakes cool, prepare the cream cheese frosting. In a large mixing bowl, use an electric mixer to beat the cream cheese until smooth then add in the butter and beat until well combined. Add in the powdered sugar and vanilla extract until thoroughly combined, scraping down the sides as required.
Once the cakes have completely cooled, it is time to assemble. Level the tops of each cake with a knife. Place the first layer on a cake stand and frost evenly. Place the second layer on top and use the remaining frosting to frost the entire cake in an even layer. It’s also optional to place some cream cheese in a piping bag and add piping around the edges of the cake. Slice and serve.