In a medium saucepan, melt the butter over medium heat. Add the brown sugar and stir to combine. Continue to cook, while stirring constantly, until the sugar is dissolved completely and the mixture is completely smooth caramel sauce. Turn off the heat and cool to room temperature.
In a second saucepan, whisk together the milk, cream, egg yolks, cornstarch and vanilla until thoroughly combined over medium heat until steaming.
Slowly ladle the caramel into the milk mixture 1/2 a cup at a time whisking constantly until all the caramel has been added.
Continue cooking the mixture over medium heat until boiling being sure to whisk constantly until smooth.
When the pudding has thickened enough to coat the back of a spoon, transfer to a bowl and cover tightly with plastic wrap.
Refrigerator for 1 hour or up to 8 hours.
Serve immediately or transfer to an airtight container and refrigerate up to 5 days.