Preheat your oven to 350°F (175°C).
Grease and flour two 9-inch round cake pans.
In a large bowl, whisk together flour, sugar, cocoa powder, baking powder, baking soda, and salt.
In another bowl, combine oil, buttermilk, eggs, food coloring, and vanilla extract; mix until well blended.
Slowly add the wet ingredients to the dry ingredients, mixing until just combined.
Divide the batter evenly between the prepared pans.
Bake in the preheated oven for 25-30 minutes, or until a toothpick inserted in the center comes out clean.
Remove the cakes from the oven and allow them to cool in the pans for 10 minutes before transferring to wire racks.
While the cakes cool, prepare the cream cheese frosting by beating the softened butter and cream cheese until smooth.
Gradually add powdered sugar and vanilla extract; mix until fully incorporated and smooth.
Once cakes are completely cool, place one layer on a serving plate and top with a generous amount of frosting.
Top with the second layer and frost the top and sides of the entire cake.
Let the cake set for at least 30 minutes before serving, allowing flavors to meld.