In a large pot of salted water, cook the pasta per package directions. Drain and set aside.
Cook onion in a bit of oil until soft. Add meat and cook until browned, breaking meat into small pieces.
Drain any excess grease and add spices. Stir together and cook ~30 seconds.
Mix tomato paste with enough water to create a viscous tomato sauce. Add sauce to meat and simmer 2-3 minutes before setting aside.
In a saucepan melt the butter and add the flour. Cook 2-3 mins until no longer starchy, whisking frequently. Add milk gradually and whisk continuously. Add stock and cook until sauce is thickened. Add nutmeg and season to taste.
Add thin béchamel layer to bottom of casserole dish and assemble as follows: half pasta, all the meat sauce, 2nd half of pasta, rest of béchamel and cheese.
Bake covered for 45 minutes, removing lid last 5-10 minutes to brown top. Let cool 15 minutes.