Start by heating your oven to 170°C. Take a 23 cm round cake pan, line the base with baking paper, and lightly grease the sides so the cake doesn’t stick.
In a large bowl, beat the softened butter with the sugar until the mixture looks pale and fluffy. This should take a few minutes and will help give the cake a light texture.
Add the eggs one at a time, mixing well after each one so they blend in properly. Once the eggs are incorporated, stir in the vanilla extract. In a separate bowl, mix together the flour, baking powder, and salt until evenly combined.
Add the dry ingredients to the butter mixture in two stages, alternating with the milk. Mix gently and only until everything comes together smoothly. Avoid over mixing, as this can make the cake dense.
To prepare the cream cheese topping, place the cream cheese, sugar, vanilla, and half an egg in a small bowl. Beat until the mixture is smooth and creamy with no lumps.
Pour the cake batter into the prepared pan and spread it evenly. Spoon the cream cheese mixture over the top, then use a knife to gently swirl it through the batter.
Bake the cake for 40 to 45 minutes, until it is set and lightly golden on top. Let it cool in the pan for about 15 minutes before turning it out onto a wire rack to cool completely.