Preheat oven to 350°F (175°C). Grease and line three 9-inch cake pans.
Whisk dry ingredients: flour, cocoa, baking soda, and salt.
Beat eggs until foamy. Add sugar gradually until pale.
Mix in oil, buttermilk, food coloring, vanilla, and vinegar.
Fold dry ingredients into wet mixture until just combined.
Divide batter between pans. Bake 25-30 minutes.
Cool in pans 10 minutes, then on wire racks.
For frosting: Beat cream cheese and butter until smooth. Add powdered sugar, vanilla, and salt. Beat until fluffy.
Layer cakes with frosting between each layer. Frost sides and top.