01 - Preheat oven to 350°F. Grease and line three 8-inch round cake pans with parchment paper.
02 - In a medium bowl, whisk together flour, baking powder, baking soda, and salt.
03 - In a large bowl, cream butter and sugar until light and fluffy. Add eggs one at a time, beating well after each addition. Mix in lemon zest, lemon juice, and vanilla.
04 - Alternate adding the flour mixture and milk to the wet ingredients, beginning and ending with flour. Mix until just combined.
05 - Gently fold in ½ cup raspberries, reserving the rest for the filling. Be careful not to crush them.
06 - Divide batter evenly among prepared pans. Bake for 25-30 minutes, or until a toothpick inserted in the center comes out clean.
07 - Cool cakes in pans for 10 minutes, then turn onto wire racks to cool completely.
08 - In a small saucepan, combine remaining raspberries, sugar, lemon juice, and cornstarch mixture. Cook over medium heat, stirring, until thickened, approximately 3-4 minutes. Cool completely.
09 - Beat cream cheese and butter together until smooth. Gradually add powdered sugar, then mix in lemon juice, zest, vanilla, and salt. Beat until fluffy.
10 - Place one layer on a serving plate. Spread half the raspberry filling over the top, then cover with a thin layer of frosting. Repeat with the second layer. Top with the final cake layer and frost the entire cake with remaining frosting.
11 - Decorate with fresh raspberries and lemon zest if desired. Chill before slicing for best results.