Whisk together the heavy cream, milk, sugar and cocoa powder in a medium saucepan and simmer. Once it simmers, turn off heat.
Separate the egg yolks from the egg whites. Reserve egg whites for another use. Whisk egg yolks with the vanilla and almond extract for about three minutes.
Temper the yolks by adding about ¼ to ½ cup of warm cream mixture into egg mixture, whisking constantly. Repeat this step a few times.
Add egg-cream mixture back to the pot. Whisk constantly and bring back to a simmer. Cook until mixture thickens and covers the back of a wooden spoon. Turn off heat.
Pour into a large bowl, and then directly cover the top of the custard's surface with plastic wrap and refrigerate until cold.
Pour custard in an ice cream maker and churn. In the last couple minutes of churning, add the amaretto to the ice cream machine. Freeze for several hours.