Preheat oven to 350 degrees. Lightly oil with canola oil (not butter) and flour (with GF flour) 3 8” round cake pans
In a large bowl, sift together three times the flour, sugar, baking soda, salt, and cocoa powder.
Don’t skip this step! Sifting three times makes the cake light and fluffy.
In a standing mixer, whisk together the oil, buttermilk, eggs, food coloring, vinegar, and vanilla until combined. Mix in the dry ingredients until just combined (be careful not to beat in flour mixture for too long or cake will be heavy), and a smooth batter is formed.
Divide the cake batter evenly among the 3 prepared cake pans. Place the pans in the oven evenly apart. Bake until toothpick inserted in center of cake comes out clean. 25-30 minutes
Remove cakes from oven and place on a rack to cool. When slightly cooled remove the cake from the pans and place on rack to cool completely.
In a standing mixer fitted with a paddle attachment, mix the cream cheese, sugar, and butter on low speed until incorporated. Then increase the speed to high and mix until light and fluffy about 5 minutes, occasionally scraping down sides. This is an important step. The 5 minutes makes the texture of the icing extra tasty!
Reduce speed to low and add vanilla, raise mixer to high again and mix briefly until combined. Store in fridge until somewhat stiff before using. May be stored in the fridge for 3 days.
On a rotating cake stand frost the cake. Using a palate knife or offset spatula spread some of the frosting over the top of each layer. Top with remaining icing and cover the entire cake.