Preheat the oven to 350°F (175°C). Line a muffin tin with cupcake liners.
In a large bowl, cream together the softened butter and sugar until light and fluffy. Add the eggs one at a time, mixing well after each addition. Stir in the milk and vanilla extract.
In a separate bowl, whisk together the flour, baking powder, and salt. Gradually add the dry ingredients to the wet mixture, mixing just until combined.
Divide the batter evenly among the cupcake liners, filling each about ⅔ full. Bake for 18-20 minutes, or until a toothpick inserted into the center comes out clean. Allow them to cool completely.
While the cupcakes cool, prepare the pastry cream. In a saucepan, heat the milk over medium heat until it begins to simmer. In a bowl, whisk together the egg yolks, sugar, and cornstarch until well combined.
Slowly whisk in the hot milk mixture into the egg mixture to temper the eggs, then return the combined mixture to the saucepan. Cook over medium heat, whisking constantly until the mixture thickens (about 2-3 minutes). Remove from heat and stir in butter and vanilla extract. Allow the pastry cream to cool.
To make the chocolate ganache, heat the heavy cream in a saucepan until it just begins to simmer. Pour it over the chopped chocolate in a bowl and let it sit for 5 minutes. Stir until smooth and glossy.
Once the cupcakes are completely cool, use a small knife or cupcake corer to remove a small section from the top of each cupcake. Fill the center with the cooled pastry cream.
Dip the tops of the filled cupcakes in the chocolate ganache, allowing any excess to drip off.
Let the ganache set for a few minutes before serving. Enjoy your delectable Boston Cream Cupcakes!