01 - In a medium saucepan, whisk together sugar, cocoa powder, cornstarch, and salt.
02 - Gradually add milk to the dry mixture, whisking continuously until smooth with no lumps.
03 - Place the saucepan over medium heat and cook, whisking constantly, until the mixture thickens and begins to bubble, approximately 5 to 7 minutes.
04 - Remove from heat. Add chopped semisweet chocolate and vanilla extract; whisk until the chocolate is completely melted and pudding achieves smooth consistency.
05 - Pour pudding into individual serving dishes. Press plastic wrap directly onto the surface to prevent a skin from forming.
06 - Refrigerate for at least 2 hours until chilled and set to desired firmness.
07 - In a cold mixing bowl, beat heavy cream, powdered sugar, and vanilla extract until soft peaks form.
08 - Top each pudding with a generous dollop of whipped cream and serve immediately.