Preheat the oven to 175 degrees Celsius. Prepare 18 - 20 cupcake liners.
Measure the flour, cocoa powder, baking powder and salt in a small bowl. Use a wire whisk and whisk the dry ingredients together until they are all well-mixed and evenly distributed.
Measure the dark chocolate and unsalted butter in a large heatproof bowl and melt them over a pot of simmering water, stirring occasionally.
Once the chocolate and butter has melted, remove the heatproof bowl from the pot. Add in the caster sugar and whisk gently - not all of the sugar will dissolve, it's ok if the mixture is grainy. Let the mixture stand for 10 minutes to cool down slightly (the eggs will scramble if added into a hot mixture).
Crack in one egg into the chocolate mixture. Whisk the mixture with a wire whisk for 30 seconds until it is fully incorporated. Whisk in the second egg, and then whisk in the vanilla extract.
Sift a third of flour mixture into the chocolate batter and folding gently using a large metal spoon or rubber spatula. until all the dry ingredients have been incorporated.
Scoop the cake batter into the cupcake liners. Do not fill it more than 2/3-full, otherwise it will overflow during baking. Bake for 20 to 25 minutes until the top bounces back when touched lightly and a skewer inserted into the centre of the cake comes out clean.
Cool the cakes completely on a wire rack.
Peanut Butter Filling
Place the cream cheese, peanut butter, icing sugar and vanilla in a medium bowl. Beat the mixture using an electric mixer until the sugar has dissolved and the frosting is light and fluffy. Add in a little bit of milk to thin the consistency (makes it easier to scoop). Stir in the chopped peanuts if using.
Chocolate Ganache
Stove method: Place the chopped chocolate in a heat-proof bowl. Place the heavy cream in a small pot and heat over medium heat until the heavy cream comes to a simmer (small bubbles appear on the sides of the pot). Pour the hot cream onto the chocolate and let it stand for 1 minute. Stir the mixture until all the chocolate has melted and the mixture is smooth. Add in the vanilla and butter and stir until all the butter has melted. Let the mixture cool to room temperature.
Microwave method: Place the heavy cream in a microwave-safe bowl (glass or ceramic). Microwave the cream on medium for 30 seconds until the cream is hot. Add in the chopped chocolate and stir – the chocolate will start to melt. Place the bowl back into the microwave and microwave for 10 seconds. Stir the mixture and if there’s any remaining un-melted chocolate, repeat the process (do not microwave for too long at one go unless you want to burn your ganache). Once all the chocolate has melted, add in the vanilla and butter and let the mixture cool to room temperature.
Refrigerate the ganache for 5 to 10 minutes. Using a hand-held electric mixer, beat the chocolate ganache on medium speed, adding in the sifted icing sugar in 3 batches. Continue to beat, turning the speed up to high until the ganache becomes light in colour and creamy
Assembly
Using a small knife (I used my plain old butter knife that has jagged edges), cut out a cone in the cupcake. The trick is to insert the knife about 3/4 into the cupcake - not straight down, but at an angle towards the centre of the cupcake. Hold the knife in place and turn the cupcake, so that you will cut out a cone.
Cut off 3/4 off the cone, keeping the small round disks and snacking on the extra cones. ;)
Scoop about a teaspoon (depending on your preference, but I prefer to scoop in slightly under a teaspoon) of the peanut butter filling into the middle of the cupcakes. Replace the chocolate cake disks and press it down gently.
Spread a thick layer of chocolate ganache over the top of the cupcakes and decorate as you like.