Make the Cake:
Step 1: Preheat your oven to 350°F (175°C) and line a lightly greased muffin pan with cupcake liners.
Step 2: In your largest mixing bowl, cream together the softened butter and sugar until it's light and fluffy.
Step 3: Pour in the vanilla extract and give it another quick beat.
Step 4: Add the eggs one at a time, beating well after you add each one. Scrape down the sides of the bowl if needed.
Step 5: In a separate medium bowl, whisk together your dry ingredients: flour, baking powder, and salt.
Step 6: Alternate adding the dry mixture and the buttermilk to the creamed mixture. Start with a third of the flour mixture, beat until just combined. Then add half of the buttermilk, beat again. Repeat with the second third of the flour, the rest of the buttermilk, and finally the last third of the flour. Begin and end with the dry ingredients. Beat just until no dry streaks remain. Do not overmix.
Step 7: Scoop the batter into your prepared cupcake liners, filling each one about ¾ of the way full.
Step 8: Bake for 18 to 25 minutes. Check around 18 minutes with a toothpick inserted into the center of a cupcake – it should come out clean when they're done.
Step 9: Let the cupcakes cool completely on a wire rack.
Make the Filling (Pastry Cream):
Step 1: In a medium bowl, beat your egg yolks well.
Step 2: Gradually whisk in the milk until everything is smooth and well blended.
Step 3: In a heavy-bottomed saucepan over medium-low heat, mix together the sugar, cornstarch, and salt.
Step 4: Slowly pour the milk and egg yolk mixture into the saucepan with the dry ingredients, stirring constantly as you pour to prevent any lumps from forming.
Step 5: Keep cooking over medium-low heat, stirring continuously, for about 20 minutes until it reaches a low boil and thickens nicely, like pudding.
Step 6: Once thickened, remove from heat. To cool quickly and prevent a skin, set the bottom of the pot in a large bowl filled with ice water, stirring constantly for a few minutes.
Step 7: Stir in the vanilla extract.
Step 8: Press plastic wrap directly onto the surface of the filling to prevent a skin. Refrigerate until completely chilled and ready to use.
Prepare the Ganache:
Step 1: Put the finely chopped chocolate in a mixing bowl.
Step 2: Heat heavy cream in a small saucepan over medium heat, stirring often, just until it starts to steam around the edges (do not boil rapidly).
Step 3: Pour the hot cream over the chopped chocolate. Let it sit for about 5 minutes to melt the chocolate.
Step 4: Gently whisk the mixture starting from the center and working your way out, until it's completely smooth and glossy.
Step 5: Let the ganache sit at room temperature until it's cool enough to handle and dip the cupcakes but not hardened (thick paint consistency). Gently warm if too hard, chill if too thin.
Assemble the Cupcakes:
Step 1: Once the cupcakes are totally cool and the pastry cream is chilled, scoop the pastry cream into a piping bag fitted with a filling tip (or use a small knife to create a cavity).
Step 2: Carefully insert the tip into the center of each cupcake and gently squeeze the bag, filling until you feel it swell slightly or see filling peek out the top (or spoon into the cavity).
Step 3: Hold the top of each filled cupcake and dip it into the bowl of slightly cooled ganache, twisting gently to get a nice, even coating.
Step 4: Place the dipped cupcakes back on the wire rack (with parchment paper underneath to catch drips) and let the ganache set. This takes 30 minutes to an hour at room temperature.