This comforting dessert can be made up to three days ahead so it's a no-brainer to make if you'll be pressed for time on the day of your dinner party. The pudding can be served warm or at room temperature.
Chop the chocolate and set aside on cutting board.2.
Whisk cornstarch, sugar, cocoa, and salt in a medium saucepan. Very slowly stream in milk, whisking constantly, until mixture is lump-free.3.
Cook mixture over medium heat, whisking constantly and vigorously, until pudding is bubbling and thick enough that the wires of the whisk leave a trail, about 7-10 minutes.4.
Remove from heat and whisk in about a quarter of chopped chocolate until smooth. Add the remaining chocolate in three additions, whisking after each addition until the chocolate is melted and mixture is smooth. Whisk in vanilla.5.
Place Nutella in a medium bowl and add about ½ cup of warm pudding mixture. Whisk until smooth, then whisk Nutella mixture back into saucepan until it's completely incorporated. Cover the pudding with plastic, pressing directly onto the surface to prevent a skin from forming. You can let it cool slightly at this point and serve warm or chill the pudding until completely set, at least 2 hours.6.
Meanwhile, place hazelnuts on cutting board and crush with bottom of small saucepan to break into irregular bits. Combine hazelnuts and butter in a saucepan and cook, stirring often, until butter is browned and hazelnuts are golden, 8-10 minutes. Remove from heat and let cool.7.
If serving pudding warm, divide mixture among serving dishes. If pudding is chilled, transfer to a large bowl and whisk until smooth, then divide among bowls. Top with hazelnuts and a sprinkle of flaky salt.
If you're making the dish ahead, cover it well, pressing plastic directly onto the surface and make sure the mixture stays cool.