Step 1: Preheat your oven to 350°F (175°C).
Step 2: Line your cupcake pan with cupcake liners.
Step 3: In a medium mixing bowl, whisk together the all-purpose flour, baking soda, baking powder, cocoa powder, granulated sugar, and salt until well combined.
Step 4: In a large mixing bowl, combine the buttermilk, vegetable oil, egg, white vinegar, vanilla extract, and red food coloring. Use an electric mixer on low speed to blend these ingredients until smooth.
Step 5: Gradually add the dry ingredients to the wet ingredients, mixing on low speed until just combined.
Step 6: Fill each cupcake liner about two-thirds full with batter.
Step 7: Bake for 18-20 minutes, or until a toothpick inserted comes out clean.
Step 8: Cool in the pan for about 5 minutes, then transfer to a wire rack to cool completely.
Step 9: For the frosting, beat the unsalted butter and cream cheese until creamy. Add salt, vanilla, and powdered sugar. Mix until fluffy.
Step 10: Frost the cooled cupcakes generously with the cream cheese frosting.