Preheat your oven to 350°F (175°C). Grease and flour two 9-inch round cake pans (or line them with parchment paper for easy removal).
Make the Cake Batter:
In a large bowl, whisk together the flour, sugar, baking soda, baking powder, salt, and cocoa powder.
In another bowl, combine the oil, buttermilk, eggs, vinegar, and vanilla extract. Mix well until smooth.
Add the wet ingredients to the dry ingredients and stir until just combined. Be careful not to overmix.
Add the purple food coloring and stir until the batter reaches your desired shade of purple. If you want a deeper color, add a little more food coloring.
Bake the Cakes:
Divide the batter evenly between the prepared cake pans. Smooth the tops with a spatula.
Bake for 25-30 minutes, or until a toothpick inserted into the center of the cakes comes out clean.
Allow the cakes to cool in the pans for 10 minutes before transferring them to a wire rack to cool completely.
Make the Cream Cheese Frosting:
In a large bowl, beat the softened cream cheese and butter together until smooth and creamy.
Gradually add the powdered sugar, 1 cup at a time, beating until smooth after each addition.
Add the vanilla extract and mix until combined.
If the frosting is too thick, add heavy cream 1 tablespoon at a time to reach the desired consistency.
Assemble the Cake:
Once the cakes are completely cooled, place one cake layer on a serving platter or cake stand.
Spread a layer of cream cheese frosting over the top of the first layer.
Place the second cake layer on top and frost the top and sides of the entire cake with the remaining frosting.
Serve:
Once frosted, you can decorate the cake with sprinkles, edible flowers, or additional purple food coloring for a festive look.
Slice and enjoy your beautiful and delicious Purple Velvet Cake!