Prepare the Crust:
Preheat your oven to 350°F (175°C). In a medium bowl, mix the graham cracker crumbs, sugar, and melted butter until the texture resembles wet sand. Press the mixture firmly and evenly into the bottom and sides of a 9-inch pie pan. Bake for 8–10 minutes or until golden and fragrant. Let cool completely before filling.
Make the Chocolate Filling:
In a medium saucepan, whisk together sugar, cocoa powder, cornstarch, and salt. Slowly add the milk while whisking to combine and remove any lumps. Place the saucepan over medium heat.
Cook the Pudding:
Stir constantly until the mixture begins to bubble and thicken—this takes about 5–7 minutes. Once bubbling, cook for an additional 1–2 minutes, stirring constantly.
Temper the Egg Yolks:
In a small bowl, beat the egg yolks. Slowly add about ½ cup of the hot chocolate mixture to the yolks while whisking quickly to temper them. Pour the egg mixture back into the saucepan and cook for another 2 minutes, stirring constantly, until thick and smooth.
Finish the Filling:
Remove from heat and stir in the vanilla, butter, and chopped chocolate. Stir until the butter and chocolate are fully melted and the mixture is silky.
Fill the Pie:
Pour the hot chocolate filling into the cooled graham cracker crust. Smooth the top with a spatula. Cover with plastic wrap, pressing it directly onto the surface of the pudding to prevent a skin from forming.
Chill:
Refrigerate the pie for at least 4 hours, or preferably overnight, until fully set.
Make the Whipped Topping:
In a cold mixing bowl, beat the heavy cream, powdered sugar, and vanilla extract until soft peaks form. Spoon or pipe the whipped cream over the chilled pie.
Garnish:
Use a vegetable peeler or sharp knife to shave chocolate curls from a bar of chocolate. Sprinkle generously over the whipped cream topping.
Serve:
Slice with a sharp knife (wipe clean between cuts for neat slices) and serve chilled. Store leftovers covered in the refrigerator for up to 3 days.