Toast the pine nuts: Heat a non-stick pan over medium-high heat and add the pine nuts. Toast them, stirring constantly, until they turn lightly golden. This usually takes about 3–4 minutes. At first, it might look like nothing is happening, but once they start changing color, they brown quickly, so don’t leave the pan unattended.
Cook the semolina: Add the olive oil and semolina into the pan. Cook over medium heat, stirring all the time, until the semolina turns golden and smells nutty. This will take about 8 minutes.
Add flavorings and water: Stir in the lemon zest (if using) and sugar. Then carefully pour in the water. The semolina will be very hot at this stage, and if you add the water too quickly it can splatter and burn you. Give it a quick stir, cover the pan, and let it come to a boil.
Simmer: As soon as it starts boiling, lower the heat to the minimum and let it simmer until the liquid is fully absorbed, about 3–4 minutes. You can give it a gentle stir once or twice while it cooks.
Rest: When all the water is gone, remove the pan from the heat. Cover it with a lid and let the halva rest for 15 minutes.
Shape or serve: Spoon it into bowls and serve. If you want the traditional dome shape, use a small porcelain or glass bowl (other materials don’t work well because the halva sticks). Lightly wet the inside of the bowl, fill it with semolina halva, press it down firmly, then place a small plate on top and flip it over.
Finish and enjoy: Serve warm or at room temperature. Sprinkle with cinnamon right before serving.