Mix the water with the sugar in a non-stick saucepan, place it over medium heat and once it starts simmering reduce the heat and - without ever stirring it - cook the caramel for 10 minutes until it is honey coloured.
Carefully pour the caramel into a loaf tin and try and line the bottom and sides evenly with a silicone brush. Let the tin cool down while you prepare the custard mix.
Preheat the oven to 350 F.
The custard needs to cook in a bain marie, so half fill a large roasting pan with water. Place the tin in the oven while mixing the custard ingredients.
Use a food processor to blend the Amaretti cookies and toasted hazelnuts to a coarse crumb, then add the dark chocolate and cocoa powder and pulse it until it becomes powdery.
Warm the milk until you cannot stick your finger in it but has not yet started boiling.
Beat the eggs with the sugar in a large bowl, then add the warm milk, rum and vanilla extract. Stir through the dry ingredients then transfer into the caramel lined tin. Remove the roasting tin from the oven, place the loaf pan in the middle and return to the oven.
Bake for 45-60 minutes until set. Start testing it with a toothpick after 45 minutes. It should come out clean when you stick it in the middle of the custard.
Remove the loaf pan from the oven, take it out of the water, and let it cool before un-moulding it onto a platter. First, release the sides by gently running a table knife along the edges of the tin, then reheat its bottom by placing the tin in a small amount of hot water for 45 seconds. Pat the base dry. Place the platter over the tin and flip it, while making sure you clamp the plate and tin together.
Serve in thick slices with Amaretti cookies.