Preheat your oven to 350°F (175°C).
Grease and flour two 9-inch round cake pans.
In a large bowl, whisk together the flour, cocoa powder, baking powder, baking soda, and salt.
In another bowl, beat the sugar and eggs until light and fluffy.
Add in the milk, oil, and vanilla extract, mixing well.
Gradually add the dry mixture to the wet ingredients, stirring until just blended.
Divide the batter evenly between the prepared pans and smooth the tops.
Bake for 30-35 minutes, or until a toothpick comes out clean.
Allow the cakes to cool in the pans for 10 minutes, then transfer to wire racks to cool completely.
While the cakes cool, prepare the frosting by beating the cream cheese and powdered sugar together until smooth.
Gradually add the heavy cream and whip until light and fluffy.
Once the cakes are cool, place one layer on a serving platter and spread a thick layer of frosting on top.
Add the second cake layer on top and frost the top and sides of the cake.
Drizzle the chocolate ganache over the top for a stunning finish.
Chill the cake for at least 30 minutes to set the frosting before slicing.