Preheat your oven to 350°F (175°C) and line a cupcake pan with liners.
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, vinegar, and vanilla extract.
Gradually add the dry ingredients to the wet ingredients, mixing until smooth and combined.
Divide the batter evenly among the cupcake liners, filling each about ⅔ full.
Bake for 18-20 minutes, or until a toothpick inserted into the center comes out clean.
Let the cupcakes cool in the pan for 5 minutes, then transfer to a cooling rack to cool completely.
For the frosting, beat the cream cheese and butter together until smooth. Gradually add the powdered sugar and vanilla extract, beating until light and fluffy.
Frost the cooled cupcakes as desired.