In a medium bowl, whisk together 2 large egg yolk , 4 tablespoons sugar, ½ cup heavy whipping cream, 1 teaspoon pure vanilla extract, saltuntil smooth. Leave the whisk in the bowl and set aside on the counter to come to room temperature.
Heat the milk mixture:
Rinse a medium saucepan or large pot with cold water without drying it. Add the 5 cups whole milk and place over medium heat. Stir occasionally. Watch closely as it nears the boil - milk can boil over quickly.
Cook the rice:
When the milk mixture comes to a boil, stir in the ½ cup rice (and 1 cinnamon stick or 1 vanilla bean if using). Continue stirring until the mixture returns to a boil, then reduce heat to maintain a gentle simmer (small, steady bubbles).
Simmer for 30 minutes, stirring every 10 minutes. Make sure to scrape the bottom of the pan each time. Stir any skin that forms back into the pudding.
Continue cooking:
After 30 minutes, continue simmering but stir every 5 minutes. Taste a rice grain each time - you want completely tender rice grains with no hard center. Total cook times are usually 45-50 minutes, though this varies.
Important: If the mixture becomes very thick before the rice is tender, add hot water or more milk (¼ to ½ cup at a time) to prevent scorching on the bottom of the pot.
Temper the eggs:
When rice is tender, remove pot from heat. Re-whisk the egg mixture.
Using a ladle, add the hot milk mixture to the eggs DROP BY DROP at first, whisking constantly. This slowly brings the eggs to room temperature. After adding 2-3 tablespoons this way, gradually increase to a thin stream while whisking continuously. Add about 1½ to 1¾ cups total of the hot mixture to the eggs.
Finish the custard:
Pour the warmed egg mixture back into the pot. Return to medium heat (not medium-high heat). Cook, stirring almost constantly, until a bubble breaks the surface in the center. The pudding should be thick and creamy like heavy cream.
Remove from heat immediately. Remove cinnamon stick or vanilla bean if used.
Chill:
If using golden raisins, scatter them in the bottom of a serving bowl. Pour the hot pudding over them and stir to combine.
Let cool for 5 minutes, then cover surface with plastic wrap and refrigerate for at least 6 hours or overnight. The pudding will thicken as it chills.
Serve:
Stir the chilled pudding before serving. If too thick, stir in a tablespoon or two of cream or milk. Spoon into bowls and top with a dusting of ground cinnamon or fruit syrup if desired.
Notes
About the rice: This recipe works with long-grain rice, arborio rice (risotto rice), or medium-grain rice. Each creates a slightly different texture. See the detailed ingredient list above the recipe for guidance on choosing rice. Avoid short grain rice and brown rice for best results.Serving temperature: This is delicious cold (my preference) or gently warmed. If serving warm, you might reduce sugar slightly as warm desserts taste sweeter.Storage: Store in an airtight container in the refrigerator for 3-4 days or freeze for up to 3 months.Variations: Try brown sugar instead of white sugar, add lemon zest, use maple syrup for sweetness, or add a touch of rose water for something special.The pudding will look quite loose when first made - it thickens beautifully as it chills!