Preheat the oven to 350°F (175°C). Grease and flour the two round cake pans.
In a mixing bowl, combine the flour, sugar, cocoa powder, and salt. Mix well and set aside.
In another bowl, add the vegetable oil, buttermilk, eggs, red food coloring, and vanilla extract. Whisk until fully combined.
Gradually add the wet ingredients to the dry ingredients, mixing on medium speed until smooth.
In a small bowl, combine the baking soda and vinegar. Add this mixture to the cake batter, mixing until just combined.
Divide the batter evenly between the prepared cake pans and smooth the tops with a spatula.
Bake in the preheated oven for 25-30 minutes, or until a toothpick inserted into the center comes out clean.
Remove the cakes from the oven and allow them to cool in the pans for 10 minutes before transferring them to a cooling rack to cool completely.
While the cakes are cooling, prepare the cream cheese frosting. In a mixing bowl, beat together the softened cream cheese and butter until creamy.
Gradually add the powdered sugar and vanilla extract, mixing until the frosting is smooth and fluffy. Add milk as needed for desired consistency.
Once the cakes are completely cooled, place one layer on a serving plate and spread a layer of frosting on top. Place the second layer on top and frost the top and sides of the cake.
Optional: Decorate with sprinkles or additional decorations as desired.