Preheat your oven to 350°F (175°C). Grease and flour the two round cake pans.
In a mixing bowl, sift together the flour, baking soda, salt, and cocoa powder. Set aside.
In another bowl, mix the vegetable oil and granulated sugar until well combined. Add the buttermilk, eggs, red food coloring, vanilla extract, and white vinegar. Mix until smooth.
Gradually add the dry ingredients to the wet ingredients, mixing on low speed until fully incorporated. Be careful not to overmix.
Divide the batter evenly between the two prepared cake pans.
Bake in the preheated oven for 25-30 minutes, or until a toothpick inserted into the center comes out clean.
Allow the cakes to cool in the pans for about 10 minutes, then transfer them to a cooling rack to cool completely.
While the cakes are cooling, prepare the cream cheese frosting. In a large bowl, beat the softened cream cheese and unsalted butter together until smooth.
Gradually add in the powdered sugar and vanilla extract, mixing until well combined. If the frosting is too thick, add milk a tablespoon at a time until desired consistency is reached.
Once the cakes are completely cool, place one layer on a serving plate. Spread a layer of cream cheese frosting on top. Place the second layer on top and frost the top and sides of the cake with the remaining frosting.
Decorate as desired, and slice to serve.