Preheat the oven to 350°F.
Make the Graham Cracker Crust: In a medium bowl, combine the graham cracker crumbs, melted butter, and sugar. Mix until the crumbs are evenly moistened.
Press the mixture firmly into the bottom and up the sides of a 9-inch pie plate.
Bake for 8–10 minutes. Remove from the oven and allow to cool completely.
Make the Chocolate Filling: In a medium saucepan, whisk together the sugar, cocoa powder, cornstarch, and salt.
In a separate bowl, whisk the egg yolks with 1/2 cup of the milk until smooth. Gradually whisk the egg mixture into the saucepan, followed by the remaining 2 cups of milk.
Place the saucepan over medium heat and cook, whisking constantly, until the mixture thickens and begins to gently bubble, about 7–10 minutes.
Continue cooking and whisking for 1–2 minutes, then remove from the heat.
Immediately stir in the chopped chocolate, butter, and vanilla extract until completely melted and smooth.
Pour the chocolate filling into the cooled graham cracker crust. Smooth the top with a spatula.
Press plastic wrap directly against the surface of the filling to prevent a skin from forming.
Refrigerate for at least 4 hours, or until completely set.
Make the Whipped Cream: In a chilled mixing bowl, combine the heavy whipping cream, powdered sugar, and vanilla.
Beat with a hand mixer or stand mixer on medium-high speed until medium-stiff peaks form.
Remove the plastic wrap from the chilled pie and spread or pipe the whipped cream evenly over the filling.
Garnish and Serve: Garnish with chocolate shavings, chocolate curls, or a light dusting of cocoa powder. Slice and serve chilled. Enjoy!