Preheat the oven to 350°F (175°C). Grease and flour two 9-inch round cake pans, then line the bottoms with parchment paper.
In a large bowl, sift together the flour, sugar, baking soda, salt, and cocoa powder.
In another bowl, whisk together the oil, buttermilk, eggs, food coloring, vanilla, and vinegar.
Gradually add the wet ingredients to the dry ingredients, mixing until just combined.
Divide the batter evenly between the prepared pans and bake for 30-35 minutes, or until a toothpick inserted into the center comes out clean.
Cool the cakes completely.
Make the Cream Cheese Frosting:
Beat the cream cheese and butter together until smooth and fluffy.
Gradually add the powdered sugar, beating on low speed until combined. Stir in the vanilla extract.
Assemble the Cake:
Place one red velvet cake layer on a serving plate or cake stand. Spread a thin layer of frosting on top.
Remove the cheesecake layer from the freezer and carefully place it on top of the frosted cake layer. Spread a thin layer of frosting on the cheesecake.
Top with the second red velvet cake layer. Spread a crumb coat of frosting over the entire cake and chill for 30 minutes.
Finish frosting the cake with the remaining frosting.
Decorate:
Sprinkle red velvet cake crumbs or white chocolate shavings on top for an elegant finish.
Serve:
Slice and serve chilled or at room temperature. Store leftovers in an airtight container in the refrigerator for up to 5 days
