Preheat the oven to 180℃.
Line 2 x 12 hole muffin tins with 16 paper cases.
Place the butter, sugar and peanut butter in a bowl and beat together for 1-2 minutes, or until well mixed. Gradually beat in the eggs, then add the vanilla extract.
Sift in the flour and baking powder, then fold them into the mixture, alternating with the milk.
Spoon the mixture into the paper cases.
Bake in the preheated oven for 25 minutes, or until well risen and golden brown.
Transfer to a wire rack to coll completely.
To make the frosting, place the cream cheese and butter in a large bowl and beat together until smooth.
Sift the icing sugar into the mixture, beat together until well mixed, then spread the frosting on top of each cupcake.