Preheat the oven to 180°C. Line muffin tins with paper liners.
In a small bowl, sift together the flour, cocoa powder, baking powder, baking soda, and salt. In a large measuring cup, combine the buttermilk, food coloring, vinegar, and vanilla.
In the bowl of an electric mixer fitted with the paddle attachment, beat the butter and sugar on medium speed for 1 minute, until light. Add the eggs, one at a time, and beat until combined. With the mixer on low speed, add the dry ingredients and the wet ingredients alternately in 3 parts, beginning and ending with the dry ingredients, and mix until combined. Stir with a rubber spatula to be sure the batter is mixed.
Scoop the batter into the muffin cups with an ice cream scoop or large spoon. Bake for 25 to 30 minutes, until a toothpick inserted in the centers comes out clean. Leave to cool completely in the pans.
For the frosting, place the cream cheese, butter, and vanilla in the bowl of an electric mixer fitted with the paddle attachment, and mix on medium speed just until combined, not whipped. Add the sugar and mix until smooth.
Pipe onto your cupcakes.