Preheat your oven to 180°C (350°F).
In a saucepan, heat the milk until warm. Add the sugar and semolina, stirring constantly until it thickens. Remove from heat and let it cool slightly.
In a mixing bowl, beat the eggs and vanilla extract. Slowly add the egg mixture to the cooled custard, stirring constantly.
Brush a baking dish with melted butter. Layer half of the phyllo dough sheets, brushing each sheet with butter.
Pour the custard over the phyllo layers. Top with the remaining phyllo sheets, brushing each with butter.
Bake for about 60 minutes, or until the top is golden brown.
While the Galaktoboureko is baking, prepare the syrup. In a saucepan, combine sugar, water, lemon juice, and zest. Bring to a boil, then simmer for 10 minutes.
Once the Galaktoboureko is done, pour the hot syrup over it. Let it cool before serving.