Preheat oven to 350 F. Line two cupcake pans with liners.
Sift the flour, cocoa and salt together in a medium bowl.
Using a stand mixer, beat together the sugar and the oil until combined.
Add eggs one at a time, beating until each is fully mixed in.
Beat in vanilla and red food colouring gel.
Reduce the speed to low and add 1/3 of the flour mixture in 3 batches, then half of the buttermilk. Mix well then repeat until the final addition is 1/3 dry flour mixture.
In a small cup or bowl, combine the baking soda and vinegar. Add mixture to the batter, and mix all together for about 10 minutes.
Pour batter into cupcake liners, filling each about 3/4 of the way.
Bake in oven for 10 mins, then turn tray around and bake for another 10-12 minutes, or until a skewer comes out clean. Allow to cool completely before frosting.
FOR THE CREAM CHEESE FROSTING
Beat the softened butter and cream cheese together until they become pale and creamy, about 2-3 minutes.
Gradually add the icing sugar to taste, 1/2 cup at a time until it reaches your desired consistency. It should be soft enough to pipe from a piping bag yet firm enough to keep its shape.
Lastly, beat in the vanilla.