Prepare the pasta: Cook pasta in salted boiling water until al dente, drain, and toss with olive oil. Set aside.
- Make the meat sauce: In a skillet, cook onion and garlic in olive oil until softened. Add ground meat, breaking it apart, and cook until browned. Stir in cinnamon, allspice, nutmeg, and oregano. Add tomatoes, tomato paste, red wine, salt, and pepper. Simmer for 20-25 minutes, then stir in parsley (if using).
- Make the béchamel sauce: In a saucepan, melt butter, then add flour and cook for 2 minutes. Gradually whisk in milk, cooking until thickened. Remove from heat, add nutmeg, salt, pepper, and cheese. Cool slightly before whisking in eggs.
- Assemble the Pastitsio: Preheat oven to 350°F (175°C). In a greased 9×13-inch dish, layer pasta, meat sauce, and remaining pasta. Top with béchamel sauce.
- Bake for 45-50 minutes, until golden and bubbly. Cool for 10-15 minutes before slicing.