Heat oven to 350° F. Bring a large pot of lightly salted water to boiling.
In a large, straight-sided skillet, heat 1 tbsp of the oil over medium-high heat. Add onion and cook 3 minutes, until slightly softened. Add lamb and cook 8 to 10 minutes, until meat is browned, breaking it up with a wooden spoon. Stir in garlic and cook 1 minute. Add wine; bring to a simmer and cook 3 minutes, scraping brown bits off the bottom of the skillet. Stir in tomatoes, tomato sauce, cinnamon and 1/2 tsp of the salt. Bring to a simmer and cook 6 minutes, or until sauce has thickened. Stir in mint and oregano; set aside.
Meanwhile, cook ziti 2 minutes less than package directions in lightly salted boiling water. Drain and stir into meat sauce.
Heat remaining 3 tbsp oil in a medium pot set over medium heat. Add flour; whisk for 1 minute. Whisk in milk; bring to a simmer and cook 5 to 7 minutes, until thickened. Stir in cheese and remaining 1/4 tsp salt. Remove from heat, cool 1 minute and slowly whisk in eggs.
Transfer meat and noodle mixture to a 13 x 9 x 2-inch oven-safe baking dish. Press noodles with the back of a spatula to make a flat layer. Pour cheese-egg mixture on top. Bake at 350° F for 50 to 55 minutes, or until top layer is set.