Preheat the oven to 350F. Grease two 8-inch round cake pans and line with parchment paper.
In a medium mixing bowl, whisk together the flour, baking powder, baking soda, and salt.
In a large mixing bowl or the bowl of a stand mixer fitted with the paddle attachment. Beat the butter on medium speed until creamy. Add the sugar and lemon zest and beat until light and fluffy, about 5 minutes. Add the vanilla then eggs one at a time, scrape down the bowl between additions, and beat until well combined and fluffy.
Stir the buttermilk and lemon juice together.
With the mixer on low speed, add a third of the flour mixture followed by half of the milk mixture. Continue, alternating between the flour and milk, mixing just until combined. Stop and scrape down the bowl occasionally. Divide the batter among the prepared cake pans.
Bake for 20-25 minutes or until the center of the cakes are springy to the touch and the sides are just starting to pull away from the pan. Let the cakes cool in the pan for 15 minutes then invert and cool completely on a wire rack.
For the Frosting
In a large bowl using a hand-held mixer or stand mixer fitted with a whisk or paddle attachment, beat the butter on medium speed until creamy, about 2 minutes. Add the cream cheese and beat until completely smooth and combined. Add confectioners’ sugar, lemon juice, and vanilla extract with the mixer running on low. Increase to high speed and beat for 3 minutes. Add more confectioners’ sugar if frosting is too thin, more lemon juice if frosting is too thick, or add a pinch of salt if frosting is too sweet. (I always add a pinch of salt!)
To Assemble
Remove the parchment paper from the cake layers. If the layers are domed, thinly slide off the tops with a serrated knife and set aside. Place one layer on a cake stand or serving plate. Top this layer with 1 cup of frosting, spreading smoothly to the edges. Top with the second cake layer, another cup of frosting, and top with the last cake layer. If desired, spread a very thin crumb coat layer over the cake and refrigerate for 20 minutes. This helps create a smooth base for frosting and decorating. Then, spread the remaining frosting all over the outside of the cake with an offset or straight spatula. With any remaining frosting, pipe decorations around the edges using a pastry bag (or baggie) and a star tip. Adding thin lemon slices or edible flowers is really pretty too.
Refrigerate for at least 30-45 minutes before slicing. This helps the cake hold its shape when cutting. Cover leftover cake tightly and store in the refrigerator for 5 days.
Notes
Use Room-Temperature Ingredients: When using refrigerated ingredients in a cake, bringing them to room temperature will help them mix more evenly into the batter.
Cake Tops: If the top of your cake layers are domed, use a serrated knife to cut off the top of each layer so you can stack them evenly.
Cooking Oil: This small amount of oil helps maintain the crumb's tenderness and keeps it fresh for days.
Make Ahead Instructions: The cake layers can be baked, cooled and stored tightly covered at room temperature overnight. The frosting can also be made ahead. Before frosting the cake, bring it to room temperature for about 10 minutes before frosting. Frosted cake and unfrosted cakes can be frozen up to 2-3 months. Thaw overnight in the refrigerator and bring to room temperature before decorating and serving.