Heat butter/ghee: In a pot, melt the butter or ghee on medium heat.
Toast the semolina: Add the semolina and stir continuously until lightly golden and fragrant.
Add spices and extras: Stir in cardamom, raisins, and nuts.
Add liquid slowly: Pour in warm milk (or water) gradually while stirring to avoid lumps.
Cook until thick: Keep stirring until the mixture thickens and becomes soft and fluffy.
Add sugar: Stir in the sugar and cook for another 2–3 minutes.
Finish: Add saffron milk if using, mix well, and remove from heat.