Preheat the oven to 180C/350F/Gas 4 and grease a 20cm/8in diameter springform cake tin.
For the torte, place the egg yolks in one glass bowl and the egg whites in another. Put the sugar in with the egg yolks and whisk until the mixture leaves a trail when you remove the whisk (it is called the ribbon stage).
Sieve in the cocoa powder and gently stir it into the egg yolk mixture.
Whisk the egg whites until stiff peaks form when you remove the whisk. Fold into the chocolate yolk mix. Place in the prepared cake tin and bake for 20 minutes.
Remove from the oven and allow to cool in the tin. Once cooled, cut the sponge in half horizontally and set aside.
Meanwhile make the crema inglese. Place the cream and milk in a large saucepan and place over a low heat to warm. Put the egg yolks in a large glass bowl, add the sugar and whisk. Add the warm cream and milk slowly to the eggs, whisking all the time.
Put the mixture back in a pan, add the coffee and heat until smooth and thickened.
To make the torte filling, pulse the chocolate in a food processor to break it up. Put the sugar and 100ml/3½fl oz water in a pan, bring to the boil and wait until the sugar has dissolved but has no colour.
Slowly add the sugar and water to the chocolate in the food processor while the motor is running. Add the egg yolks and blend until smooth.
In a separate bowl, whip the cream until stiff peaks form when the whisk is removed. Then fold in the chocolate mixture and mix until smooth.
To construct the torte, place one of the sponges in the bottom of the cake tin and pour over half the amaretto. Smooth over half the torte filling. Top with the other sponge and drizzle with the remaining amaretto. Smooth over the rest of the torte filling using a palette knife to get a neat finish.
Whip the cream for the topping and pipe on top. Sprinkle the grated chocolate over the on top.
To serve, cut a slice of the torte and pour the crema inglese around the torte.