Preheat the oven to 350°F (175°C). Line a muffin tin with cupcake liners.
In a large mixing bowl, whisk together the flour, sugar, cocoa powder, baking soda, and salt until well combined.
In a separate bowl, mix the vegetable oil, buttermilk, eggs, vanilla extract, purple food coloring, and vinegar until smooth.
Gradually add the wet ingredients to the dry ingredients, mixing on medium speed until fully combined and the batter is smooth.
Fill each cupcake liner about two-thirds full with the batter.
Bake in the preheated oven for 18-20 minutes or until a toothpick inserted in the center comes out clean.
Allow the cupcakes to cool in the pan for 5 minutes before transferring them to a cooling rack to cool completely.
While the cupcakes are cooling, prepare the cream cheese frosting by beating the softened cream cheese and butter together until creamy and smooth.
Gradually add the powdered sugar and vanilla extract, mixing until completely combined and fluffy.
Once the cupcakes are completely cool, frost them generously with the cream cheese frosting using a spatula or piping bag.