Preheat the oven to 350°F (175°C). Grease and flour the bottom and sides of two 9-inch round cake pans. Line the bottoms with parchment paper for easy removal.
In a large mixing bowl, cream the softened butter and granulated sugar using an electric mixer until light and fluffy, about 3-5 minutes.
Add the eggs one at a time, mixing well after each addition. Then, stir in the vanilla extract.
In another bowl, sift together the flour, baking powder, and salt. Gradually add the dry ingredients to the butter mixture, alternating with the milk. Begin and end with the flour mixture, mixing just until combined.
Divide the cake batter evenly between the two prepared pans. Smooth the tops with a spatula.
Bake in the preheated oven for 25 minutes or until a toothpick inserted in the center comes out clean. Let the cakes cool in the pans for 10 minutes, then transfer to a cooling rack to cool completely.
While the cakes cool, prepare the raspberry filling. In a small saucepan, combine the raspberries, sugar, and lemon juice. Cook over medium heat, stirring gently until the raspberries break down and the mixture thickens, about 5-10 minutes. Set aside to cool.
For the buttercream frosting, beat the softened butter in a mixing bowl until creamy. Gradually add the powdered sugar, and mix until combined. Add the heavy cream, vanilla extract, and salt, and beat on high speed until light and fluffy.
Once the cakes are completely cooled, place one layer on a cake stand. Spread a layer of the raspberry filling on top, followed by a layer of buttercream frosting.
Place the second cake layer on top, and frost the top and sides of the cake with the remaining buttercream frosting. Decorate with fresh raspberries or decorative elements as desired.
Allow the cake to chill in the refrigerator for about 30 minutes to set the frosting before serving.
This cake can be made a day in advance; store in the refrigerator and let it come to room temperature before serving.