Ingredients
Equipment
Method
- Mix the cornstarch slurry. In a small bowl, whisk the cornstarch with 60 ml (1/4 cup) of the milk until completely smooth — no lumps. This slurry is what thickens the pudding; if it is lumpy, the pudding will be too. Set it aside.
- Heat the milk. Pour the remaining milk, the cream and the sugar into a medium saucepan. Warm over medium heat, stirring occasionally, until the sugar dissolves and the milk is steaming — about 5 minutes. Do not let it boil hard.

- Whisk in the slurry and thicken. Give the slurry a quick stir (cornstarch settles fast), then pour it into the saucepan in a thin stream, whisking constantly. Keep whisking over medium heat for 3–5 minutes, until the pudding thickens enough to coat the back of a spoon — it should drip slowly, like a thin custard.

- Add the flavorings. Take the saucepan off the heat. Stir in the rosewater, the orange blossom water (if using) and the vanilla. Taste and add a little more rosewater if you like a stronger floral note — the flavor fades slightly as the pudding chills.
- Strain and pour. For the silkiest texture, pour the pudding through a fine-mesh strainer into a jug, then divide it evenly between 6 ramekins or small cups. The strainer catches any tiny lumps and leaves the pudding perfectly smooth.

- Chill until set. Let the ramekins cool for 20 minutes, then cover each one with plastic wrap, pressing the wrap directly onto the surface of the pudding so no skin forms. Chill in the fridge for at least 2 hours, until set. The pudding should wobble gently when you shake the ramekin.
- Garnish and serve. Unwrap the ramekins and top each one with a spoonful of crushed pistachios and a few dried rose petals if you like. Serve cold, straight from the fridge, with a spoon — no unmolding needed.
- Serve. Muhallabia is best served cold, straight from the fridge, with a spoon. It keeps in the fridge for up to 3 days — add the pistachio topping just before serving so it stays crunchy.

Notes
Do not let the milk boil hard — a gentle simmer thickens the pudding without a skin. Strain the pudding before pouring for the silkiest texture. Chill for at least 2 hours before serving.
