Preheat your oven to 375F and start by boiling the pasta in salted water until al dente. Drain and set aside.
For the meat sauce, dice the onion and cook in a pan with the vegetable oil until softened for about 5 minutes. Add the meat and cook until browned.
Add all the spices and the tomato sauce and simmer for 5 minutes. Set aside.
Melt butter in small saucepan. Add flour, evaporated milk and water. Whisk and cook over medium heat until mixture comes just to a boil.
Coat the bottom of a large casserole dish with a heaped tbsp of bechamel sauce that you thinly spread out.
Toss the cooked pasta with a 1/2 cup of the bechamel mixture. Layer 1/2 this coated pasta on the base of the baking dish. Add all the meat sauce, and spread evenly. Add the second 1/2 of the pasta, then the remaining bechamel sauce. Spread evenly.
Cover with all of the Bechamel sauce and smooth it out.
Bake in a hot oven for 45 minutes or until golden brown. Cut into pieces and enjoy.