Preheat your oven to 350°F (175°C) and line a cupcake pan with liners.
In a large bowl, mix flour, sugar, baking soda, cocoa powder, and salt.
In another bowl, whisk together vegetable oil, buttermilk, eggs, food coloring, vanilla, and vinegar.
Gradually add the wet ingredients to the dry ingredients and mix until just combined.
Fill each cupcake liner about 2/3 full with batter.
Bake for 18-20 minutes or until a toothpick inserted comes out clean.
Allow the cupcakes to cool in the pan for 5 minutes, then transfer to a wire rack.
While cooling, prepare the cream cheese frosting by beating cream cheese and butter until smooth.
Gradually add powdered sugar and mix until creamy and smooth.
Once cupcakes are cool, frost them generously with the cream cheese frosting.