Preheat oven to 350°F (175°C). Grease and flour two 9-inch round cake pans.
In a large bowl, sift together the flour, sugar, baking soda, salt, and cocoa powder.
In another bowl, whisk together the oil, buttermilk, eggs, food coloring, vanilla, and vinegar.
Mix the dry ingredients into the wet ingredients until just combined.
Divide the batter evenly between the prepared pans.
Bake for 30 minutes or until a toothpick inserted into the center comes out clean.
Cool the cakes in the pans for 10 minutes, then remove from pans and cool completely on a wire rack.
For the frosting, beat the butter and cream cheese until fluffy. Add the powdered sugar and vanilla, and beat until smooth.
Frost the cooled cakes.