Step 1: Preheat Oven and Prepare Pans : Preheat oven to 350°F (175°C). Grease and line two 9-inch round cake pans with parchment paper.
Step 2: Mix Dry Ingredients : In a medium bowl, sift together flour, cocoa powder, baking soda, and salt. Set aside.
Step 3: Combine Wet Ingredients : In a large bowl, whisk together oil, buttermilk, eggs, red food coloring, vanilla, and vinegar until smooth.
Step 4: Combine Wet and Dry Ingredients : Gradually add the dry ingredients to the wet mixture, mixing until just combined. Do not overmix to keep the cake tender.
Step 5: Bake the Cake Layers : Divide batter evenly between the prepared pans. Bake for 25–30 minutes, or until a toothpick inserted in the center comes out clean. Let cakes cool in pans for 10 minutes, then transfer to wire racks to cool completely.
Step 6: Prepare the Cream Cheese Frosting : Beat cream cheese and butter until smooth and creamy. Gradually add powdered sugar, 1 cup at a time, beating until fluffy. Mix in vanilla extract and salt. Adjust consistency with a little milk if needed.
Step 7: Assemble the Cake : Level the cooled cake layers with a serrated knife if needed. Place one cake layer on a serving plate and spread a thick layer of frosting evenly. Place the second layer on top and apply a crumb coat to trap any crumbs. Chill for 10–15 minutes. Frost the cake completely and decorate as desired.
Step 8: Serve : Slice the cake and serve at room temperature. Optionally, decorate with cream cheese rosettes, sprinkles, or chocolate shavings.