Sohan Halwa is a rich, aromatic Indian dessert slow-cooked with ghee, sugar, and cardamom until luscious. This beloved sweet is a family tradition for festivals, celebrations, and special occasions.
Grease an 8-inch square pan with ghee and set aside.
Heat ghee in a heavy-bottomed pan over medium heat. Add all-purpose flour and semolina, stirring constantly until fragrant and lightly golden, about 10 minutes.
Slowly pour in the milk, stirring continuously to avoid lumps. Lower the heat to medium-low and cook until the mixture thickens, about 15 minutes.
Add sugar in batches, stirring to dissolve completely. Watch for crystallization and maintain medium-low heat.
Mix in cardamom powder, saffron strands, and rose water. Cook, stirring continuously and scraping the pan bottom, until the mixture thickens and begins to leave the sides, about 30 more minutes.
Stir in most of the chopped almonds and pistachios, reserving some for garnish. Cook an additional 5 minutes on low heat.
Pour the halwa mixture into the greased pan. Smooth the top and sprinkle with remaining nuts. Let cool completely before cutting into squares.