Add the rice, whole milk, and salt to a heavy-bottomed saucepan.
Heat over medium heat, stirring regularly, until the milk reaches a gentle simmer.
Reduce the heat to low and simmer for 30 to 40 minutes. Stir every few minutes and scrape the bottom of the saucepan to prevent scorching.
Once the rice is completely tender and the milk has thickened, stir in the sugar and cinnamon.
Continue cooking for another 5 to 10 minutes, stirring frequently, until the pudding is creamy but still slightly loose.
Remove from the heat and stir in the vanilla extract. Add the optional heavy cream at this stage for an extra-rich texture.
Let the rice pudding rest for several minutes. Serve warm or refrigerate until chilled and finish with a light dusting of cinnamon.