In a medium saucepan, rinse the rice thoroughly under cold water until the water runs clear. This helps remove excess starch, which ensures a creamy, not overly sticky, pudding texture.
Add the rinsed rice and 1 cup of water to the saucepan. Bring it to a gentle boil over medium heat, stirring occasionally. Allow the rice to cook for 10-15 minutes or until the water is almost fully absorbed and the rice is tender.
Reduce the heat to low and add the whole milk to the rice. Stir well to combine. Continue to cook on low heat, stirring frequently to prevent sticking, for about 20 minutes until the rice has fully absorbed the milk and becomes creamy.
Once the rice is tender and the mixture thickens, add the sugar and a pinch of salt. Stir constantly to dissolve the sugar, ensuring the sweetness is evenly distributed.
Add the ground mastic (if using) by crushing it with a pinch of sugar, then stirring it into the pudding. Mastic imparts a unique aromatic flavour, but it is optional. Continue cooking for an additional 5-7 minutes.
Remove the saucepan from the heat and stir in the orange blossom water or rose water. This final touch adds a fragrant aroma that is quintessential to Lebanese desserts.
Pour the rice pudding into individual serving bowls or ramekins while still warm. Allow it to cool at room temperature, then refrigerate for at least 1-2 hours to set properly.
Before serving, garnish with a sprinkle of ground cinnamon and a handful of crushed pistachios. Serve chilled for a refreshing dessert, or at room temperature, based on your preference.