Preheat oven to 350 degrees.
In a bowl whisk together the flour, baking powder and salt. Set aside.
In a stand mixer beat butter, vanilla and sugar until light and fluffy. About 5 minutes. Add in each egg one at a time making sure each one is fully incorporated before adding the next.
With the mixer at a low speed start adding in the dry ingredients alternating with the milk. Mix until just combined. Do not over mix. Scoop into a prepared and lined cupcake pan and bake for 18-20 minutes. Cool completely before frosting.
To make the frosting add the raspberries to a saucepan on medium heat and stir until the berries break down and become liquid. About 5-7 minutes. Pour through a strainer to remove the seeds.
Add the strained liquid back into the saucepan and simmer on low for another 5-7 minutes until the sauce has reduced to about 1/4 cup. Cool for about 15 minutes before using.
In a stand mixer combine sugar, butter and cream cheese until light and fluffy. Pour in the raspberry sauce and lemon juice. Mix until the raspberries have been fully incorporated.