Mix dry ingredients: In a bowl, mix together the sugar and corn starch until well combined.
Make slurry: Add about 1/4 cup of the milk to the sugar and corn starch mixture and stir until smooth with no lumps.
Heat milk: In a saucepan over medium heat, heat the remaining milk until hot and bubbly but not boiling, about 15 minutes, stirring frequently to prevent burning.
Cook pudding: Slowly add the cornstarch and sugar slurry into the hot milk while stirring continuously. Cook for 2 to 5 minutes until the mixture thickens.
Add flavoring: Remove from heat and stir in the flavoring of your choice (rosewater, almond, or orange blossom).
Chill pudding: Pour the pudding into small serving bowls and refrigerate for 2 to 4 hours until set.
Garnish and serve: Before serving, sprinkle chopped pistachios or almonds on top.