Preheat oven to 350°F. Spray three 8-inch cake pans with non-stick spray or coat with Wilton cake release.
Add the flour, baking soda, cocoa powder, and salt together in a large bowl. Stir to combine. Set aside.
In the bowl of your electric mixer, beat the butter and sugar together on medium-high speed until combined, about 1 minute. Add the oil, eggs, vanilla extract, and vinegar and beat on high for 2 minutes. Scrape down the sides and up the bottom of the bowl with a rubber spatula as needed.
With the mixer on low, pour the dry ingredients alternating with the buttermilk into the wet ingredients in the mixer. Beat until well combined. Scrape the sides of the bowl. Beat in the food coloring just until combined.
Divide the batter evenly between the three pans. Bake for 23-25 minutes, or until a toothpick comes out with no crumbs or a few dry crumbs.
Remove the cake layers from the oven. Allow them to cool for 5 minutes on a wire rack. Invert the cake layers onto a wire rack to finish cooling completely.
FOR THE FROSTING
Beat ½ cup butter and 8 ounces of cream cheese in the bowl of an electric mixer until smooth
With the mixer on low, add sifted confectioners' sugar, vanilla, and heavy whipping cream and mix until smooth.
BUILD THE CAKE
Wait until the cake is completely cool before frosting.
For a more professional cake, remove the domes from the tops of the cake layers with a cake leveler or large serrated knife.
Place one layer of cake on a serving plate. Spread about 1 cup of the frosting on top in an even layer. Repeat with the next layer of cake and frosting, then top the cake with the final layer of cake (if you have 3 layers)
Frost the outside of the cake. An offset spatula makes it really easy to get an even layer.
Decorate the side or top with an assortment of sprinkles or nuts.