I start by adding the dark brown sugar, salt, and water to my saucepan over medium to medium-low heat. As it starts to bubble, I let it cook for 5 to 6 minutes without stirring, just gently swirling the pan. It's ready when it darkens slightly and smells rich and nutty
Once the sugar mixture looks glossy and deep amber, I take the pan off the heat and let it cool for a few minutes. This little pause keeps the eggs from scrambling later when everything comes together.
While the sugar cools, I whisk the cornstarch with a splash of the milk until it's completely smooth. Then I add the egg yolks and whisk again until the mixture looks silky and pale yellow.
Next, I pour the cornstarch and egg mixture into the rest of the milk and heavy cream, whisking briefly just to bring everything together. This creates one smooth base that's ready to meet the sugar.
I slowly pour this milk mixture into the cooled brown sugar, whisking the whole time. The sugar will harden and seize up at first, but I don't panic, because it melts right back down once it's heated again.
I return the pan to medium-low heat and whisk constantly as the mixture comes to a gentle boil. Once the sugar fully dissolves and it starts thickening, I switch to my silicone spatula to scrape the edges and bottom.
As soon as the pudding reaches a thick boil, I pull it off the heat immediately and pour it through a fine mesh strainer. This step guarantees that ultra-smooth texture with zero lumps.
I whisk in the butter, vanilla extract, and bourbon if I'm using it, working the whisk vigorously for about a minute. This final step gives the pudding that glossy, restaurant-quality shine.
I pour the finished pudding into small serving cups and either enjoy it warm right away or let it set in the fridge. It usually takes about two hours to fully firm up.