Make the cupcakes: Preheat the oven to 350°F (175°C).
Line 12 cupcake wells with paper liners.
Sift together the flour, baking soda, baking powder, and salt.
Stir in the espresso powder.
Using an electric mixer on medium speed, beat the butter with the granulated sugar until light, 1 minute with a stand mixer or 2 minutes with a handheld mixer.
Add the eggs, one at a time, beating well after each addition.
Continue to beat the mixture for 1 minute with a stand mixer or 2 minutes with a handheld mixer.
On low speed, alternately add the dry ingredients and the milk in 2 additions, stirring until incorporated after each addition.
Pour the batter into the paper-lined cupcake wells.
Bake until a skewer inserted in the middle comes out clean, about 20 minutes.
Let cool to room temperature, then remove from the pans.
Make the ganache: Place the cream in a small, heavy-bottomed saucepan and warm over medium-high heat until it begins to bubble around the edges, about 5 minutes.
Remove the pan from the stove, add the chocolate, and whisk until smooth.
Transfer to a bowl and place plastic wrap directly over the ganache.
Refrigerate until cold.
Make the frosting: Melt the white chocolate in a double boiler.
Stir until smooth.
Let cool to room temperature.
Sift the confectioners' sugar into a medium bowl.
Stir in the milk and vanilla.
Add the butter and salt and beat until smooth.
Stir in the cooled white chocolate.
Refrigerate until firm enough to frost the cupcakes, about 30 minutes.
Cut out about one quarter of the inside of each cupcake with a small paring knife.
With a pastry bag, fill the indent with the milk chocolate ganache.
Frost each cupcake with the white chocolate frosting.
Note: The cupcakes can be made a day in advance; wrap in plastic wrap and store at room temperature.
The ganache can be made several days ahead and kept refrigerated.
The frosting can be made a day ahead and stored at room temperature.
For maximum flavor and moistness, fill and frost the cupcakes the day you plan to serve them.