This rich, silky Homemade Butterscotch Pudding is a classic dessert that always satisfies. Serve it warm or cold and be swept away to your happy place with every spoonful.
In a large bowl, combine milk and heavy cream. In a separate medium bowl, whisk together egg yolks, cornstarch, and a touch of milk until smooth. Set both bowls aside.
In a medium heavy duty pot set over medium heat, whisk together the brown sugar, salt, and water until sugar dissolves. Once bubbling, allow to cook without stirring, until mixture turns a thick dark amber color, about 6 minutes, keeping a close eye so it doesn't burn. (Don't stir, but it is okay to swirl the pan around a bit to distribute the heat, if necessary.)
Slowly add in the milk/cream, whisking as you pour. (The sugar will seize up and become hard, but don't worry, everything will melt as it continues to cook on the heat.) Bring mixture to a boil over medium heat, whisking constantly to dissolve the sugary bits.
Transfer 1 cup of the hot caramel mixture to the bowl with the egg yolks, whisking to combine, then pour it all into the pot, whisking the entire time so the eggs don't scramble.
Turn the heat down to medium-low and continue to cook and stir until the custard thickens, about 1 minute.
Remove from heat and immediately pour it through a fine mesh strainer over a bowl (preferably one with a spout for easier pouring.) Stir in butter until melted and completely smooth. Then add in the vanilla.
Divide pudding among 4-6 custard glasses (depending on their size.)
Chill until cold and set, 4-6 hours.
Once the puddings are mostly cool and set, you can spoon a thin layer of cooled caramel sauce on top. Then let them finish chilling completely.
Pipe a little homemade whipped cream on top and enjoy!