First, in a heavy-bottomed saucepan, sift in the cocoa powder, cornstarch, and salt. Then add the sugar and combine everything well.
Gradually add the milk and whisk until well combined. Place the pan over medium heat and bring it to a boil, stirring constantly.
After about 4-5 minutes, when the mixture starts bubbling and thickens, reduce the heat to low. Add in the chocolate and cream and keep whisking until the chocolate completely melts into the pudding, for about 2 minutes. (or until it thickens to your preferred consistency).
Take it off the heat, then add the vanilla and keep stirring for a minute or so until well combined.
Pour it into your prepared dessert dishes. Let them completely cool to room temperature and then refrigerate for 2-3 hours or overnight to chill.
Serve the pudding with whipped cream or simply with some chocolate shavings.