Preheat and Prepare Pans: Preheat the oven to 350°F (175°C). Grease two 9-inch round cake pans with butter or non-stick spray and line with parchment paper if desired.
Mix Dry Ingredients: In a medium bowl, whisk together flour, baking powder, and salt. Set aside.
Beat Butter and Sugar: In a large bowl, beat softened butter and granulated sugar for 4-5 minutes until light and fluffy.
Add Eggs and Flavors: Add eggs one at a time, beating after each addition. Stir in lemon zest, lemon juice, and vanilla extract.
Combine Wet and Dry Ingredients: Alternately add dry ingredients and buttermilk to the wet mixture, beginning and ending with the dry ingredients. Mix until just combined.
Bake the Cakes: Divide batter between pans and bake for 25-30 minutes, until a toothpick comes out clean. Cool in pans for 10 minutes, then transfer to a wire rack.
Make Lemon Cream Filling: Beat softened cream cheese and butter until smooth. Gradually add powdered sugar, lemon juice, and zest. Mix until creamy.
Make Whipped Frosting: Whip heavy cream, powdered sugar, and vanilla extract until stiff peaks form.
Assemble the Cake: Once cakes are cool, place one layer on a plate. Spread with lemon cream filling, top with the second layer, and frost with whipped frosting. Garnish with lemon slices or zest.