Preheat the oven to 350°F (175°C). Grease and flour the cake pans, then line the bottoms with parchment paper.
In a large mixing bowl, cream together the softened butter and granulated sugar until light and fluffy, about 3-5 minutes.
Beat in the eggs one at a time, followed by the vanilla extract.
In another bowl, combine the flour, baking powder, and salt. Gradually add this dry mixture to the butter mixture, alternating with the milk, starting and ending with the flour.
Gently fold in the fresh raspberries, being careful not to mash them too much.
Divide the batter evenly between the prepared cake pans. Bake for 25 minutes, or until a toothpick inserted in the center comes out clean.
Allow the cakes to cool in the pans for 10 minutes, then transfer to a cooling rack to cool completely.
While the cakes are cooling, make the frosting. In a mixing bowl, beat the softened butter until creamy. Gradually add the powdered sugar, heavy cream, and vanilla extract, then mix until smooth and fluffy.
Once the cakes are completely cooled, place one layer on a cake stand or plate. Spread a layer of raspberry puree onto the cake, followed by a layer of frosting.
Place the second cake layer on top and frost the top and sides of the cake with the remaining frosting.
Garnish with extra fresh raspberries on top and around the base of the cake.