Preheat oven to 350°F (175°C). Grease three 8-inch round cake pans, line bottoms with parchment, and grease parchment.
Sift together the flour, cocoa powder, baking soda, and salt in a large bowl. Whisk to combine and set aside.
Beat softened butter and sugar in a stand mixer on medium-high for 3-4 minutes until pale and fluffy. Scrape down bowl as needed.
Add eggs one at a time, beating until fully incorporated. Mix in vanilla extract.
Mix food coloring with cocoa powder to form a paste. Add to butter mixture and mix on low until fully incorporated and vivid blue.
With mixer on low, alternate adding flour mixture and buttermilk-oil mixture (starting and ending with flour), mixing until just combined after each addition.
Add white vinegar to batter and fold gently with a spatula until combined (bubbles will appear). Do not overmix.
Divide batter evenly among prepared pans, smooth tops, and bake for 25-30 minutes until a toothpick comes out clean.
Cool cakes in pans for 10 minutes, then invert onto wire racks. Remove parchment and cool completely before frosting.
For the frosting, beat softened cream cheese until smooth. Add butter and beat until combined and fluffy.
Gradually add sifted powdered sugar on low speed. Mix in vanilla and salt, then beat on medium for 2-3 minutes until smooth and fluffy.
Level cake layers with a serrated knife. Place first layer on a serving plate, top with about ⅓ cup frosting, and repeat with remaining layers.
Apply a thin crumb coat of frosting over entire cake. Chill for 20-30 minutes, then add remaining frosting smoothly over top and sides.
Refrigerate finished cake for at least 30 minutes before slicing. Serve chilled or at room temperature.