This recipe for cooking pineapple halva with delicious saffron combines roasted semolina, fresh pineapple, milk, saffron, cashews and golden raisins. The finished halva is soft enough to spoon while warm and firm enough to shape once it cools slightly.

Unlike an Iranian halva recipe based on browned wheat flour, this pineapple halva is an Indian-style semolina halwa, also called pineapple sheera. Fresh fruit provides the flavour, so it does not need pineapple essence.
Pineapple halva ingredients
- 1/2 cup fresh pineapple, finely chopped
- 1/2 cup fresh pineapple purée
- 1/2 cup fine semolina
- 1 cup whole milk
- 3 tablespoons ghee, butter or neutral oil
- Up to 1/2 cup sugar, adjusted to the fruit
- 5 cashews, roughly chopped
- 6 saffron threads
- 1 tablespoon golden raisins
Prepare the pineapple and saffron
Remove the pineapple skin, eyes and tough core. Cut enough flesh into small pieces to fill 1/2 cup, then blend another 1/2 cup to a smooth purée.
Set aside a few neat pieces for garnish. Put the remaining chopped fruit and purée in a small saucepan and cook over medium-low heat for 4 to 5 minutes, stirring often. Heating fresh pineapple before it meets the milk gives the flavour time to concentrate.
Soak the saffron threads in 1 tablespoon hot water or warm milk. For a stronger colour from a small amount, see our guide to brewing saffron.
Fry the cashews and raisins
Heat 1 tablespoon of the ghee, butter or oil in a heavy frying pan. Add the cashews and cook until lightly golden.
Add the golden raisins for the final 20 to 30 seconds, just until they swell. Lift both onto a plate so they do not burn while the semolina roasts.
Roast the semolina
Add the remaining fat to the same pan, followed by the semolina. Cook over medium-low heat for 5 to 7 minutes, stirring continuously.
The grains should turn pale gold and smell nutty. Do not rush this stage with high heat; scorched semolina will make the entire halva bitter.
Add the milk gradually
Warm the milk in a separate saucepan until steaming. Lower the heat under the semolina and add the milk a little at a time, stirring carefully because the mixture can bubble and spit.
Continue stirring until the semolina absorbs the milk and becomes smooth. Break up any lumps against the side of the pan.
Cook in the pineapple and saffron
Stir in the cooked pineapple and its purée, followed by the saffron infusion. Cook over low heat for 3 to 5 minutes, until the fruit is evenly distributed and the mixture thickens.
If the milk separates slightly when fresh pineapple is added, keep the heat low and stir steadily. Thoroughly cooking the fruit before this stage reduces the problem; canned pineapple packed in juice is another reliable option.
Sweeten to taste
Add half the sugar first and stir until dissolved. Taste carefully, then add more only if needed. A ripe pineapple can be much sweeter than a sharp one, so the full 1/2 cup is an allowance rather than a requirement.
Continue cooking until the halva pulls together and begins to leave the sides of the pan. Fold in most of the fried cashews and raisins.
Shape and garnish the pineapple halva
Spoon the warm halva into a serving dish, or press it into lightly greased small moulds. Let moulded portions rest for 5 to 10 minutes before turning them out.
Finish with the reserved pineapple pieces, cashews and golden raisins. Serve warm for a softer pudding texture or at room temperature for a firmer bite.
Common problems
- Raw semolina taste: roast the grains until fragrant before adding liquid.
- Lumps: use warm milk, add it gradually and stir continuously.
- Greasy halva: keep cooking over low heat until the semolina absorbs the fat.
- Overly sweet halva: add sugar after the pineapple so you can judge the fruit first.
Storage
Refrigerate leftovers in a covered container for up to 2 days. Reheat gently with a splash of milk, or let the halva return to room temperature before serving.




