Preheat oven to 375 degrees. Cook pasta, and drain; reserve. Meanwhile, in a large saucepan, over medium heat, cook lamb, breaking apart pieces with a wooden spoon, until no longer pink, 6 to 8 minutes. Add onions; cook, stirring occasionally, until translucent, about 5 minutes.
Transfer to a colander; drain fat, and discard. Return lamb to pan; add wine. Cook over medium heat until almost all liquid has evaporated, about 5 minutes.
Stir in tomato paste, cinnamon, and 2 cups water; simmer, stirring occasionally, until thickened, 15 to 20 minutes. Season with salt and pepper.
Make Parmesan Cheese Sauce while mixture is simmering: In a medium saucepan, melt butter over medium heat; whisk in flour until incorporated, about 30 seconds. In a slow steady stream, whisk in milk until there are no lumps.
Cook, whisking often, until mixture is thick and bubbly and coats the back of a wooden spoon, 6 to 8 minutes. Stir in cayenne, if desired, and Parmesan.
Add pasta to lamb mixture; transfer to a 9-by-13-inch baking dish. Pour sauce over the top, smoothing with the back of a spoon until level. Bake until browned in spots, 35 to 40 minutes. Remove from oven; let cool 15 minutes before serving.