Preheat the oven to 350° F/180oC. Line cupcake pans with paper liners.
In a medium bowl, combine the cake flour, sugar, baking soda, cocoa powder and salt; whisk to blend.
In the same bowl add and whisk together the eggs, vegetable oil, buttermilk, food coloring, vanilla and vinegar. Whisk until well blended.
Divide the batter evenly between the prepared liners. Bake, rotating the pans halfway through baking, until a toothpick inserted in the center comes out clean, about 18 minutes. Let cool in the pans 5-10 minutes, then transfer to a wire rack to cool completely.
To make the frosting, combine the cream cheese and butter in the bowl of an electric mixer. Beat on medium-high speed until well combined and smooth, about 2-3 minutes. Mix in the vanilla extract. Gradually beat in the confectioners’ sugar and pinch of salt until totally incorporated, increase the speed and then beat until smooth. Frost cooled cupcakes as desired. (I used a large, unlabeled star tip to frost these cupcakes.)