Preheat your oven to 350°F (175°C). Grease and flour two 9-inch round cake pans.
In a medium bowl, whisk together flour, cocoa powder, baking soda, and salt. In a large bowl, cream together 1 cup of butter and granulated sugar until light and fluffy. Add eggs one at a time, beating well after each addition.Mix in vanilla extract, food coloring, and vinegar. Add the flour mixture to the wet ingredients, alternating with buttermilk, starting and ending with the flour mixture.
Divide the batter evenly between the prepared pans. Bake for 30 minutes, or until a toothpick inserted in the center comes out clean. Allow cakes to cool in the pans for 10 minutes, then transfer to wire racks to cool completely.
In a large bowl, beat together the cream cheese and 1 cup butter until smooth. Gradually add powdered sugar and vanilla extract, beating until the frosting is smooth and creamy.
Once the cakes are completely cool, trim the tops if they are domed. Place one cake layer on your serving plate. Spread a layer of frosting over the top. Top with the second cake layer. Frost the top and sides of the cake with the remaining cream cheese frosting.
Slice and serve the cake at room temperature.