Add the milk and cream to a large saucepan over medium heat, and bring to a simmer.
In a medium bowl, whisk together egg yolks, sugar, cocoa powder, and espresso powder until well combined.
Slowly stir about 1/4 cup of the warmed cream and milk into the egg yolks to temper them, whisking continuously. Continue to add the warm dairy to the egg mixture, 1/4 cup at a time, while whisking.
Add the mixture back to the large saucepan and place over medium heat.
Cook, frequently whisking for about 5 minutes, until the custard has thickened enough to coat the back of a spoon. Test this by coating the back of a spoon and using your finger to wipe a line down the middle; if the line stays, it’s ready.
Place the chopped chocolate in a large mixing bowl and pour the custard through a sieve over the chocolate. The sieve will remove any parts of the eggs that may have been cooked.
Set aside for 5 minutes until the chocolate has melted.
Add in the butter, vanilla, and salt.
Working quickly, whisk until smooth and well combined, and then whisk in the butter, salt, and vanilla until combined.
Pour into serving dishes and place in the fridge until ready to serve. Allow the budino to sit at room temperature for about 15-20 minutes before serving.