In a large bowl, beat the butterg, sugar and vanilla until light and fluffy. Add the eggs one at a time, beating for at least 1 minute after each egg. Beat in the flour mixture alternately with the milk. Pour the batter into a prepared pan.

Bake for 40 to 45 minutes, or until a toothpick inserted in the center of the cake comes out clean. Let it cool in a pan for 10 minutes, then turn it out onto a wire rack.

To make the frosting:

Place the cream cheese in the bowl of an upright mixer. Using the paddle attachment, soften the cream cheese. Gradually add butter, and continue beating until smooth and well blended. Add the confectioners’ sugar a bit at a time, and continue beating until smooth. Add the vanilla, and stir to combine.

Transfer the frosting to an oven-safe dish and place in the warmed oven to soften further, about 5 minutes.

To assemble the cake:

Transfer the cake to a serving plate. Pour the frosting over the top of the cake, letting it drip down the sides. Serve immediately, or store, covered, in the refrigerator for up to 4 days.