Preheat your oven to 350°F (175°C). Grease and flour two 9-inch round cake pans.
In a medium bowl, whisk together the flour, baking powder, and salt.
In a large bowl, beat the butter and sugar together until light and fluffy. Add the eggs one at a time, beating well after each addition. Stir in the vanilla extract.
Gradually add the flour mixture to the butter mixture, alternating with the milk, beginning and ending with the flour mixture. Stir in the lemon zest.
Divide the batter evenly between the prepared pans. Bake for 25-30 minutes, or until a toothpick inserted into the center comes out clean. Let the cakes cool in the pans for 10 minutes, then turn them out onto a wire rack to cool completely.
To make the buttercream, beat the butter and cream cheese together until smooth. Gradually add the powdered sugar, beating until light and fluffy. Stir in the lemon juice and lemon zest.
Once the cakes are completely cool, spread a layer of buttercream on top of one cake layer. Place the second cake layer on top, and frost the top and sides of the cake with the remaining buttercream.