Preheat the oven to 350°F (175°C) and prepare the pans.
In a large bowl, sift together the flour, cocoa powder, baking soda, baking powder, and salt.
In another large bowl, mix the sugar and vegetable oil until well combined.
Add in the eggs one at a time, mixing well after each addition, then stir in the buttermilk, red food coloring, vanilla extract, and vinegar.
Gradually add the flour mixture to the wet ingredients, mixing just until combined.
Divide the batter evenly between the prepared cake pans.
Bake in preheated oven for 25-30 minutes or until a toothpick inserted in the center comes out clean.
Allow the cakes to cool in the pans for 10 minutes before transferring them to wire racks to cool completely.
While the cakes are cooling, prepare the cream cheese frosting by beating together cream cheese, butter, and powdered sugar until smooth.
Add milk to achieve the desired consistency for the frosting.
Frost the top of one cake layer, place the second layer on top, and frost the top and sides of the cake.
Decorate as desired, then slice and enjoy your homemade Red Velvet Cake.