Preheat oven to 350°F (175°C). Butter and flour your cake pans.
Sift together flour, sugar, cocoa powder, baking soda, and salt in a large bowl. Whisk to combine.
In another bowl, whisk buttermilk, oil, melted butter, eggs, vanilla, vinegar, and food coloring until well combined.
Pour wet ingredients into dry. Mix on low speed or whisk until just combined. Do not overmix.
Divide batter into pans. Tap to release air bubbles.
Bake 30–35 minutes. A toothpick should come out clean or with moist crumbs.
Cool cakes in pans 10 minutes. Then invert onto a rack and cool completely.
Beat cream cheese and butter until fluffy, 3–5 minutes.
Add powdered sugar, vanilla, and salt. Beat until smooth and fluffy.
Adjust frosting thickness with more sugar or milk if needed.
Trim domed tops of cakes if needed. Stack layers with frosting in between.
Frost the top and sides of the cake. Smooth with a spatula.
Chill for 30–60 minutes before slicing.