Preheat the 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, baking soda, and salt. Set aside.
In a large mixing bowl, cream the softened butter and granulated sugar together until light and fluffy, about 3-4 minutes.
Add the eggs one at a time, mixing well after each addition. Then mix in the lemon zest and vanilla extract.
Gradually add the dry ingredients to the butter mixture, alternating with the buttermilk and lemon juice. Start and end with the flour mixture, mixing until just combined.
Divide the batter evenly between the prepared cake pans. Bake for 25-30 minutes, or until a toothpick inserted into the center comes out clean.
Allow the cakes to cool in the pans for 10 minutes, then transfer to wire racks to cool completely.
For the frosting, beat the softened cream cheese and butter together until smooth. Gradually add the powdered sugar, mixing until well combined. Stir in the lemon juice and lemon zest.
Once the cakes are completely cool, spread a layer of frosting on top of one cake layer, place the second layer on top, and frost the top and sides of the cake.
Serve immediately or refrigerate for up to 3 days.