Preheat your oven to 350 degrees. Line two muffin tins with 24 cupcake liners.
In a large bowl, mix the the granulated sugar, flour, cocoa powder, baking powder, baking soda, and salt.
Add in the eggs, milk, vegetable oil, peanut butter, and vanilla. Stir until the batter is fully combined.
Fill each cupcake liner approximately 2/3 full.
Bake for 20 minutes (in two batches), or until a tooth pick inserted in the middle of a cupcake comes out with just a few crumbs. Allow to cool completely. Once cool, make the frosting.
To make the peanut butter frosting beat together the butter and peanut butter until combined in a stand mixer or with a hand held mixer.
Slowly add in the powdered sugar and then the milk, followed by the vanilla extract. If not smooth and creamy, add a tiny bit more milk.