Bring milk to a boil in a pot. Add grated carrots and simmer over medium-low heat, stirring occasionally.
Cook until carrots are soft and milk is almost evaporated. Add the sugar, butter, cardamom, saffron and rose water. Continue to cook and stir until the mixture thickens.
Carrot halwa or gajar halwa is ready now. Sprinkle with cinnamon. Garnish with pecan and pistachios. Serve hot or cold.