Preheat your oven to 350°F and spray two 8-inch nonstick cake pans with oil.
To the bowl of a stand mixer (or a large bowl, if using a hand mixer), add the oil, eggs, sugar, and vanilla, and beat on high for 1 minute.
To the same bowl, add in the buttermilk, cocoa powder, salt, baking powder, flour, and red food coloring, and beat on low for 15 seconds. Then, gradually increase the speed until you are beating on high and the batter is completely smooth.
Divide the batter evenly and pour into the two prepared cake pans.
Place both filled cake pans on the middle rack of the oven and bake for 28-32 minutes, until a toothpick inserted into the cakes comes out clean.
Remove the cakes from the oven and allow them to cool completely before removing them from the pans.
While the cakes are cooling, make the frosting: in a large bowl (if using a hand mixer) or in the bowl of a stand mixer, add the cream cheese, butter, and vanilla, and beat on high until smooth. Then, add in the powdered sugar 2 cups at a time, beating with each addition. If desired, add 1-3 tablespoons of heavy cream or full-fat coconut milk to lighten up the frosting and make it fluffy.
Once the cakes have cooled completely, remove them from the pan and trim them to be level (removing any rounded tops that developed in the oven). Place a thin layer of frosting (a crumb coat) on the bottom layer of the cake and place it in the fridge for 15-30 minutes. Once chilled and the frosting has firmed up a bit, add a thicker layer of frosting and then place the second layer of cake on top. Place a thin crumb coat layer of frosting on the top layer and sides, and chill in the fridge for another 15-30 minutes. Once chilled, spread the remaining frosting evenly on the tops and sides.
If saving for later, either store covered in the fridge for 3-4 days or at room temperature if your kitchen is not too warm.