Preheat oven to 350° F. Line a cupcake pan with cupcake liners or grease with butter or cooking spray.
In a medium bowl, sift flour, sugar, cocoa, salt, baking powder, and baking soda together.
In another bowl whisk together the oil, buttermilk, eggs, red food coloring, and vanilla.
Pour wet ingredients into the bowl with the dry ingredients and whisk until combined and smooth.
Fill cupcake liners ⅔ fill and bake until a toothpick inserted into the center comes out clean, about 18-20 minutes. Let cool in the muffin pan 5 minutes, then turn out onto a wire rack to cool completely.
To make the frosting, beat together butter, cream cheese, powdered sugar, vanilla and heavy cream and beat on high speed until light and fluffy, about 2-3 minutes. Frost cooled cupcakes as desired.