Preheat the oven to375 °F, 190 °C.
Make the Filling:
Add the onion, olive oil, and a pinch of salt to a skillet and cook over medium-heat until soft and golden. About 8 minutes.
Add the garlic and warm through until fragrant. Add the scallions and cook for 2-3 minutes until softened then add the spinach in a few batches along with salt and pepper. Cook the spinach over high heat so that the liquid released can evaporate.
Remove from heat and add the dill and cream cheese. Mix until the cream cheese is incorporated and then add the feta and mix until incorporated.
Make the Bechamel Sauce:
Heat the oil in a saucepan over medium heat. Add the flour. Whisk well while cooking for few minutes until toasted.Add the milk and whisk together to keep it creamy. Season with salt, pepper, and nutmeg. Cook until it comes to a boil. Keep the sauce on the thinner side as it will thicken more as it bakes in the oven. Remove from heat. Whisk the eggs together in a bowl. Add some of the hot milk mixture into the eggs and whisk to temper them so that they don't scramble when added to the cream sauce. Add the eggs to the sauce and whisk well. Add the parmesan cheese and mix to combine.
Assemble the Pastitsio:
Boil the pasta according to the package instructions and then drain.
Add half of the pasta to a 9 by 13-inch baking dish and top with a ladle of the bechamel. Crumble some feta on top and sprinkle with some mozzarella and toss together.
Top with the spinach filling.
Add a ladle of the bechamel to the remaining pasta and toss together with feta. Add it to the baking dish to cover the spinach filling. Sprinkle some mozzarella on top and then top with the bechamel.
Bake on the center rack for about an hour or until the bechamel becomes lightly golden. (see video).
Allow the Pastitsio to rest for 2 hours and then slice and serve.
Kali Orexi!
