Make the Cupcakes:
Preheat oven to 350°F (175°C). Line a 12-cup muffin pan with cupcake liners.
In a medium bowl, whisk together flour, cocoa powder, baking soda, and salt. Set aside.
In a large mixing bowl, whisk together oil and sugar until well combined.
Beat in eggs, one at a time, then stir in buttermilk, red food coloring, vanilla, and vinegar.
Add the dry ingredients to the wet ingredients and gently mix until just combined—do not overmix.
Divide the batter evenly among the cupcake liners, filling each about ⅔ full.
Bake for 18–20 minutes, or until a toothpick inserted in the center comes out clean.
Let cupcakes cool in the pan for 5 minutes, then transfer to a wire rack to cool completely.
Make the Frosting:
In a large mixing bowl, beat cream cheese and butter together until smooth and creamy.
Gradually add powdered sugar, 1 cup at a time, beating until fluffy.
Mix in vanilla extract until well combined.
Frost the Cupcakes:
Once cupcakes are completely cool, use a piping bag or a spatula to frost them generously.