Heat the milk over medium high heat and bring it to a simmer, almost to a boil.
While the milk is being heated, place the sugar, egg yolks, vanilla, cornstarch and salt in a bowl. Whisk until you have a thick, smooth mix. Set aside until the milk comes to a boil.
As soon as the milk starts to bubble, remove it from the heat. Slowly pour about a half of the hot milk in a thin stream, into the egg mix, while whisking constantly to temper the egg mix. When the eggs have been tempered, add the egg mix back into the hot milk in the saucepan.
Heat the custard over medium heat, while whisking vigorously until it starts to thicken – this should take about 1 – 2 minutes.
While whisking, let the custard come to a boil (the custard will release bubbles). Lower the heat and cook for a further 1-2 minutes after you see the first bubbles break the surface. Remove from heat and add the butter. Whisk in the butter until it’s completely mixed in.
Pour the custard into a bowl and immediately cover the surface with plastic wrap, making sure the plastic wrap is touching the whole surface. This is to prevent a custard skin from forming on top.
Let the custard cool down to room temperature and then let it chill in the fridge for a few hours, until it’s completely chilled.