Heat oven to 350°F. Grease and line two 8-inch round cake pans with parchment.
Whisk flour, sugar, cocoa, baking soda, and salt in a large bowl until evenly combined.
Combine buttermilk, oil, eggs, vanilla, vinegar, and red food coloring in a separate bowl; whisk until smooth.
Pour the wet mixture into the dry ingredients. Stir just until the batter is silky and no dry spots remain.
Divide batter between pans and smooth the tops. Tap pans gently to release large air bubbles.
Bake 25–30 minutes, until a tester comes out clean and the tops spring back lightly.
Cool cakes in pans 10 minutes, then turn out to a rack and let cool completely.
Beat cream cheese and butter until fluffy. Gradually mix in powdered sugar, vanilla, and salt. Add cream until spreadable.
Level cake layers if needed. Frost the first layer, top with the second, then cover the whole cake with remaining frosting.