For the crust, combine graham cracker crumbs and sugar in a bowl. Stir in melted butter until mixture is moistened. Press mixture firmly onto bottom and up the sides of a 9-inch springform pan. Bake for 8 minutes. Set aside to cool.
For the filling, beat cream cheese and sugar with an electric mixer until creamy. Add eggs one at a time, beating well after each addition. Stir in vanilla extract. Pour mixture over crust and smooth evenly. Bake for 25-30 minutes, or until set. Remove from oven and let cool to room temperature.
For the topping, melt butter in a saucepan over low heat. Stir in sugar, cocoa powder, and salt until mixture is smooth. Remove from heat and stir in flour, egg, and vanilla extract until well combined. Pour mixture over cheesecake and smooth evenly.
Return cheesecake to oven and bake for an additional 15-20 minutes, or until topping is set. Remove from oven and let cool to room temperature.
Refrigerate cheesecake for at least 2 hours before serving.