Serves 12
1. For the cake: Adjust oven rack to middle position and heat oven to 350 degrees. Grease and flour two 9-inch cake pans. Whisk flour, baking soda, and salt in medium bowl. Whisk buttermilk, vinegar, vanilla, and eggs in large measuring cup. Mix cocoa with food coloring in small bowl until a smooth paste forms.
2. With electric mixer on medium-high speed, beat butter and sugar together until fluffy, about 2 minutes, scraping down bowl as necessary. Add one-third of flour mixture and beat on medium-low speed until just incorporated, about 30 seconds. Add half of buttermilk mixture and beat on low speed until combined, about 30 seconds. Scrape down bowl as necessary and repeat with half of remaining flour mixture, remaining buttermilk mixture, and finally remaining flour mixture. Scrape down bowl, add cocoa mixture, and beat on medium speed until completely incorporated, about 30 seconds. Using rubber spatula, give batter final stir. Scrape into prepared pans and bake until toothpick inserted in center comes out clean, about 25 minutes. Cool cakes in pans 10 minutes then turn out onto rack to cool completely, at least 30 minutes.
3. For the frosting: With electric mixer, beat butter and sugar on medium-high speed until fluffy, about 2 minutes. Add cream cheese, one piece at a time, and beat until incorporated, about 30 seconds. Beat in vanilla and salt. Refrigerate until ready to use.
4. When cakes are cooled, spread about 2 cups frosting on one cake layer. Top with second cake layer and spread top and sides of cake with remaining frosting. Cover and refrigerate until ready to serve, up to 3 days.