Preheat your oven to 350°F (175°C). Line a cupcake pan with cupcake liners and set aside.
In a large mixing bowl, sift together the flour, sugar, baking soda, salt, and cocoa powder.
In another bowl, combine the vegetable oil, buttermilk, eggs, red food coloring, vanilla extract, and vinegar. Mix until thoroughly combined.
Gradually add the wet ingredients to the dry ingredients, mixing until just combined. Do not overmix.
Divide the batter evenly among the prepared cupcake liners, filling each about two-thirds full.
Bake for 18-20 minutes, or until a toothpick inserted into the center comes out clean. Remove from the oven and allow to cool in the pan for 5 minutes, then transfer to a cooling rack to cool completely.
While the cupcakes are cooling, prepare the cream cheese frosting. In a mixing bowl, beat the softened cream cheese and butter together until smooth and creamy.
Gradually add the powdered sugar, mixing until fully incorporated. Add the vanilla extract and mix until combined.
Once the cupcakes are completely cool, frost them using a piping bag or a spatula as desired.