Make the cake: Preheat the oven to 350˚F (180C˚). Line a parchment paper in a 8-inch (20cm) square baking pan and set aside.
In a large bowl, cream butter and sugar, beat until smooth and creamy.
Add egg, one at the time, beating until combined after each addition. Add peanut butter and beat until combined.
Add flour, baking powder and mix until incorporated. add milk, vanilla extract and stir until combined and smooth.
Pour the batter into prepared pan and bake for 25-30 minutes or until a toothpick inserted into the center comes out clean.
Allow the cake too cool before frosting.
Make the frosting: in a large bowl beat butter and peanut butter until light and fluffy. Add powdered sugar and beat on low speed until combined and creamy. Add heavy cream and vanilla extract, beat until light and fluffy.
Spread over the cake and refrigerate for at least one hour or until ready to serve.