For the meat sauce: Heat a large saucepan over medium heat and add the oil. When hot, add the meat and cook, without stirring, until browned, 3 to 5 minutes. Break it up with a wooden spoon, then add the onion, garlic and cinnamon and cook, stirring, until starting to soften, about 2 minutes. Add the tomato paste and cook, stirring, 2 to 3 minutes. Add the wine and bring to a simmer. Add the crushed tomatoes and oregano and season with salt and pepper. Simmer until thickened and the flavors come together, about 1 hour.
For the pasta bake: Preheat the oven to 375 degrees F. Brush a 9-by-13-inch casserole dish with olive oil and set aside.
Bring a pot of water to a boil and salt liberally. Add the pasta, give it a stir and cook for about 6 minutes. Drain the pasta and toss it with the meat sauce and 1 cup of the Parmesan. Transfer it to the casserole dish.
Melt the butter in a large saucepan over medium heat. Whisk in the flour and toast for 1 minute. Add the milk and nutmeg, whisking continuously to combine. Season with salt and pepper and continue to cook, whisking, until the mixture has thickened slightly, 3 to 4 minutes. Remove from the heat and whisk in the remaining 1 cup Parmesan until melted. Whisk in the eggs and set aside.
Pour the bechamel over the meat sauce. Bake until the top is golden brown and puffy, about 30 minutes. Allow to cool for 5 minutes before serving.
For more ingredient substitution ideas, see the article below.