Preheat oven to 175 degrees celsius fan-forced (350 degrees fahrenheit).
Grease and line the base and sides of 2 x 20cm round cake tins with baking paper and set aside.
Using hand-held beaters or a stand-mixer, beat the butter and caster sugar together for 2-3 minutes on high speed. Reduce the speed to low and add the eggs one at a time, continuing to mix after each addition.
Sift the the plain flour, baking powder and add the poppy seeds into a bowl.
Add half of the flour mixture to the creamed butter mixture and beat through on low speed until combined.
Add the lemon zest, lemon juice and vanilla and mix until just combined.
With the mixer still on low speed, slowly add half the buttermilk and mix through.
Repeat by mixing through the remaining flour mixture and the remaining buttermilk.
Divide the mixture evenly between the two prepared cake tins.
Bake for 20-25 minutes or until a skewer inserted into the middle comes out clean. Allow the cakes to cool in the tins for 10 minutes before transferring to a wire rack to cool completely.
To make the cream cheese frosting, beat the (room temperature) cream cheese and butter on high speed until smooth, pale and creamy (approximately 3 minutes). Add the sifted icing sugar and vanilla and mix on low speed, slowing increasing to high speed for 3 minutes.
Spread just under half of the frosting on top of one of the cakes. Gently place the second cake on top. Spread over the remaining frosting.
Sprinkle with additional poppy seeds (optional).