Preheat the oven to 350°F. Place the cupcake liners in the cupcake pans.
In a medium bowl mix the flour, cocoa powder, baking powder, and baking soda together. Add the salt and give it a whisk to combine.
In a large bowl, add the room temperature butter and sugar. Mix with an electric mixer until combined and the butter is smooth.
Add in the eggs one at a time, and continue with the vanilla. Mix until combined. Try not to overmix, scraping the bowl down as needed.
Add in the red gel coloring and mix until combined.
Sift in half of the dry ingredients and add in the half of the milk. Mix until combined and then continue by sifting the rest of the dry ingredients and pour in the rest of the milk. Mix again until combined.
Add in the oil and mix, scraping the bowl down as needed.
Distribute the batter evenly into cupcake papers, filling each paper about 2/3 full.
Bake for 15 to 20 minutes or until it springs back to the touch. Let cool for a few minutes in the pans then remove and cool completely on a wire rack.
Frosting
In a large mixing bowl with an electric mixer, cream the butter on medium speed until smooth and fluffy, about 2 minutes.
Add the room temperature cream cheese, vanilla, and salt to the creamed butter. Beat together on medium speed until well combined. Scrape down the bowl.
With the mixer on low speed, add the powdered sugar a cup at a time. Mix until combined.
Transfer the buttercream to a piping bag fitted with a round tip and pipe large dollops on top of each cooled cupcake.