Put the sugar into a thin layer in a large pot or frying pan.
½ cup (100 grams or 3.5 ounces) granulated sugar
Warm the cream in a small pot.
½ cup heavy cream
Combine ½ cup of the milk with the cornstarch and salt in a small bowl and whisk to combine.
3 tablespoons cornstarch, ½ teaspoon salt, 2 cups whole milk, divided
Ready all the ingredients, except for the flaky sea salt, by the stove.
3 tablespoons (43 grams or 1.5 ounces) unsalted butter, 1 teaspoon vanilla
Heat the sugar over low heat. As it starts to melt, do not stir it, but you can tilt and swirl the pan to avoid an uneven melt. The goal is for the sugar to reach a uniform deep copper color without burning. This should take about 10 minutes, depending on how quickly or slowly you heat the sugar.
Remove the caramel from the heat and immediately add the warmed cream. Return the pan to medium-low heat and stir to combine.
Add the 1½ cups of milk (the larger amount without the cornstarch) and heat until small bubbles are starting to form. Do not let the mixture boil. If at any point it looks like it is about to boil, remove the pan from the burner and turn down the heat slightly.
Add the milk and cornstarch mixture and heat, stirring constantly until the mixture is noticeably thicker and starts to coat the bottom of the pan, about 5 minutes.
Remove the pan from the heat and immediately stir in the butter and vanilla.
Transfer the mixture to a glass bowl or 4 small ramekins and cover with plastic wrap, pushing the wrap down onto the surface of the pudding to prevent skin formation.
Chill at least 2 hours to overnight.
Serve topped with a sprinkling of flaky sea salt.
flaky sea salt for serving