Add flour, cocoa powder, salt and baking powder to a medium bowl. Whisk to combine, then set aside.
Add butter, brown sugar and granulated white sugar to a large bowl. Cream together with an electric mixer for 2 minutes until light and fluffy.
Add the egg yolks and vanilla to the butter mixture and mix until pale in color and fluffy, 1-2 minutes.
Add in the dry ingredients and mix just until combined. Avoid overmixing.
Scoop the dough into 34 portions (about 1 tablespoon each), then roll into balls.
Transfer dough balls to baking sheets. Using a ¼ teaspoon, press down to create an indent in each ball.
Chill the prepared indented dough balls for at least 1 hour.
Preheat oven to 350°F. Arrange prepared dough about 1½ inches apart and bake for 9-11 minutes.
When done baking, lightly press down on centers again with ¼ teaspoon if they lost their indent.
Let cookies cool on baking sheet for 5 minutes, then transfer to cooling rack to completely cool.
Add chocolate chips to a small bowl. Heat heavy cream until just about boiling. Pour cream over chocolate chips and let sit for 1 minute. Stir to combine.
Fill each well with about 1 teaspoon of ganache. Sprinkle with nonpareils if desired. Chill cookies in fridge for 10-15 minutes to set ganache.
Notes
Use Dutch process cocoa powder for the richest chocolate flavor. Regular cocoa can be substituted but add ¼ teaspoon baking soda.
Chill dough for at least 1 hour to prevent cookies from losing their shape during baking.
Half the ganache recipe may be sufficient – this recipe makes extra for generous filling.
Store in airtight container for up to 3 days or freeze without ganache for up to 2 weeks.