For the cupcakes
Heat oven to 350 degrees; line 2 12-cup cupcake tins with cupcake papers.
In a large bowl, sift together flour, sugar, cocoa powder, instant vanilla pudding mix, salt, baking soda; set aside.
With an electric mixer on medium (or in a stand mixer fitted with paddle attachment), in large bowl, beat eggs, buttermilk, vanilla extract, vinegar, food coloring and oil until well blended.
Slowly add dry ingredients to egg mixture and mix until well combined and smooth (approximately 2 minutes).
Fill cupcake tins 1/2 full with batter. Bake for 18-20 minutes, or until a toothpick inserted into cake comes out clean. For best results, rotate pans halfway through baking time. Cool completely before frosting.
For the frosting
Tip:You may have left over frosting from this recipe. It can be saved in the refrigerator in an airtight container for up to 5 days.
Sift confectioner's sugar in a bowl and set aside.
With an electric mixer on medium (or in a stand mixer fitted with paddle attachment) cream together butter, cream cheese and vanilla until blended.
Slowly add sifted confectioner's sugar to butter mixture. Beat until thoroughly blended, approximately 3-4 minutes. Frost the cupcakes when completely cool.