In a medium mixing bowl, whisk together cocoa powder, cornstarch, cinnamon and orange zest. Slowly add milk. Whisk in egg yolks and vanilla until mixture is homogenous. Set aside.
Over medium heat, in a large saucepan, bring 2 cups milk and half of the sugar to a gentle simmer. Add chocolate and stir until melted.
Add about half of hot milk mixture to cocoa & egg mixture while whisking constantly. This step is known as tempering and is CRUCIAL to ensure that your egg yolks don’t curdle.
Pour everything back into saucepan.
Whisk slowly as you bring pudding to a gentle boil. Continue cooking and whisking until pudding thickens, about 5 minutes.
Transfer to large bowl, placing plastic wrap directly onto the pudding to stop it from forming a skin. Chill at least 3 hours or overnight.
To serve, spoon into small bowls, ramekins or small mason jars for a portable version!