2) Place the chocolate in a heatproof bowl set over a saucepan of simmering water, making sure that the bowl does not come into contact with the water. Stir until the chocolate is melted, then remove from the heat and leave to cool slightly.
3) Put the flour, cornmeal, sugar, chilli powder, baking powder, and salt into a large bowl.
4) Stir in the eggs and buttermilk, and then the melted chocolate. Spoon the batter into the prepared tin and cook for about 20 minutes, until firm but springy. Leave to cool on a wire rack.
5) Once the bread is cool, break into 2.5cm chunks and spread in the bottom of a 2 litre baking dish.
For the chocolate custard:
6) Whisk the sugar and egg yolks together in a large bowl until pale.
7) Whisk in the melted chocolate, milk, cream, and vanilla extract until combined.
8) Pour the custard through a fine meshed sieve, directly on to the bread chunks, pressing the bread chunks down so that they are soaked in the custard mixture.
9) Place the dish in a roasting tin and fill the roasting tin with enough water to come half way up the sides. Bake for 40 minutes, or until the custard is set. Remove and leave to cool on a rack for 30 minutes before serving. This is best served warm.
10) In the meantime, make the hot Mexican chocolate sauce. Bring the cream and cinnamon sticks to simmering point in a small saucepan. Remove from the heat and leave to infuse for 15 minutes. Remove the cinnamon sticks, add the chocolate and sugar, and cook over low heat until the chocolate is completely melted. Stir in the almonds and transfer to a small jug. Keep hot.
11) Serve the pudding in bowls, with the hot chocolate sauce poured over, and lashings of cream.