In a medium saucepan, combine raspberries, sugar, and water.
Cook over medium heat, stirring constantly until the mixture is homogenous.
Once thickened, remove from heat and let it cool completely.
Preheat your oven to 350°F (175°C). Grease and flour a 9x13 inch sheet pan or line it with parchment paper.
In a large mixing bowl, cream together the butter and sugar until light and fluffy.
Beat in the eggs one at a time, then stir in the vanilla extract.
Combine the flour, baking powder, and salt in another bowl.
Gradually add the dry ingredients to the creamed mixture, alternating with milk. Start and end with the dry ingredients. Mix until just combined.
Pour the batter into the prepared 9x13 cake pan, spreading it out evenly.
Bake for 25-30 minutes, or until a toothpick inserted into the center of the cake comes out clean.
While the cake is still hot use a knife to place slits all over the cake. Pour the raspberry filling all over and let it soak into the cake.
Allow the cake to cool completely in the pan on a wire rack.
In a large bowl, beat the softened butter until creamy.
Gradually add powdered sugar, 1 cup at a time, beating on low until combined.
Add vanilla extract and mix well.
Adjust the consistency of the frosting with milk or heavy cream, adding one tablespoon at a time until you reach the desired consistency.
Once the cake has cooled, spread the frosting evenly over the cake. I like to place it into a piping bag using a star tip and pipe it over the cake.
Garnish with fresh raspberries.