Preheat your oven to 350°F (175°C) and line a muffin tin with cupcake liners.
In a mixing bowl, whisk together the flour, cocoa powder, and salt.
In another bowl, beat the butter and sugar until light and fluffy. Add the eggs one at a time, beating well after each addition. Mix in the vanilla extract.
Mix the buttermilk and red food coloring together. Add the dry ingredients to the butter mixture in three additions, alternating with the buttermilk mixture, beginning and ending with the dry ingredients. Mix until just combined.
In a small bowl, combine the vinegar and baking soda, then quickly fold into the batter.
Divide the batter evenly among the cupcake liners, filling each about two-thirds full. Bake for 18-20 minutes, or until a toothpick inserted into the center comes out clean. Cool in the tin for 5 minutes, then transfer to a cooling rack to cool completely.
For the frosting, beat the cream cheese and butter together until smooth. Gradually add the powdered sugar, beating until fluffy. Mix in the vanilla extract.
Frost the cooled cupcakes with the cream cheese frosting.