Combine the sugar, cornstarch, and salt in a large saucepan set over medium-high heat. Slowly whisk in the milk and cream. Cook, whisking occasionally, for 3-5 minutes, or until the sugar has dissolved and is starting to bubble around the edges.
In a large bowl, whisk the egg yolks together and then slowly drizzle in the warm milk, whisking constantly. If you add the milk too quickly, you’ll scramble the eggs so make sure to add it slowly!
Once all of the milk has been incorporated, return the mixture to the pan and set it over medium-high heat again. Cook, stirring often, for 8-10 minutes, or until the mixture has thickened and is no longer liquid.
Remove the pudding from the heat and add the spiced tum, butter, and vanilla extract. Stir until combined. Transfer the pudding to an airtight container and place it in the fridge to cool for one hour.