01 - Preheat oven to 350°F. Grease two 9-inch round cake pans and line bottoms with parchment paper.
02 - Whisk together flour, baking powder, baking soda, and salt in a medium bowl. Set aside.
03 - Beat butter and sugar with an electric mixer until light and fluffy, approximately 3-4 minutes.
04 - Add eggs one at a time, mixing thoroughly after each addition. Blend in lemon zest, lemon juice, and vanilla extract.
05 - On low speed, alternate adding flour mixture and milk to butter mixture, starting and ending with flour. Mix until just combined.
06 - Divide batter evenly between prepared pans. Bake for 28-32 minutes until toothpick inserted in center comes out clean.
07 - Let cakes cool in pans for 10 minutes, then transfer to wire racks to cool completely.
08 - Beat butter and cream cheese until smooth. Add powdered sugar, lemon juice, lemon zest, vanilla, and salt. Beat until fluffy.
09 - Place one cake layer on serving plate. Spread with frosting. Add second layer and frost top and sides. Decorate as desired.
10 - Refrigerate assembled cake for 30 minutes for cleaner cuts. Serve at room temperature.