01 - In a medium saucepan, whisk together sugar, cocoa powder, cornstarch, and salt until well blended.
02 - Gradually pour in milk while whisking continuously until the mixture is completely smooth and free of lumps.
03 - Place the saucepan over medium heat and cook, whisking constantly, until the mixture thickens considerably and begins to bubble. This should take approximately 5-7 minutes.
04 - Remove from heat immediately. Add chopped semisweet chocolate and vanilla extract. Whisk vigorously until the chocolate is completely melted and the pudding becomes silky smooth.
05 - Pour the warm pudding evenly into individual serving dishes. Press plastic wrap directly onto the surface of each portion to prevent a skin from forming.
06 - Refrigerate for at least 2 hours until the pudding is thoroughly chilled and has set to a firm consistency.
07 - Just before serving, combine heavy whipping cream, powdered sugar, and vanilla extract in a cold mixing bowl. Beat with an electric mixer or hand whisk until soft peaks form and the cream holds its shape.
08 - Top each chilled pudding with a generous dollop of freshly whipped cream. Serve immediately for the best texture and temperature contrast.