Preheat oven to 350 degrees and grease two 9′ inch cake pans and set aside.
In a large bowl combine sugar, flour, cocoa, baking powder, baking soda and salt. Beat in the eggs, milk, oil and vanilla until well combined. Slowly stir in boiling water.
Transfer batter to baking sheets and bake for 30 to 35 minutes.
Allow to cool completely.
While the cake is cooling time for the filling!
In a large mixing bowl, beat together cream cheese, sugar and peanut butter. Fold in whipped topping.
To make this process easier, I like to use a 9 inch spring form. Place one cake into the bottom of the spring form pan and pour filling over top smoothing it out as you go. Place the second cake on top and gently press down so everything is nice and tight.
Refrigerate for 1 hour before removing and frosting.
In a small mixing bowl, beat together powdered sugar and peanut butter. Continue beating on low and add in vanilla and milk. Beat until smooth can creamy.
After cake has chilled, remove from spring form and frost!
Bring heavy cream to a boil and remove from heat. Pour over chocolate and whisk until smooth.
Allow chocolate to set and cool for 10 minutes before pouring over cake.