In a large pot with salted water cook the pasta according to package instructions.
Preparing the filling: In a pot, place the minced beef, minced onion, water and all the spices then cook until the beef is fully cooked and all the liquid is reduced.
Add the tomato sauce then stir and turn off the heat.
Making the bechamel: Pour the milk in a pot then add the flour, salt and pepper.
After that, place the mixture over medium heat and whisk occasionally using the whisk. Once the mixture starts to bubble whisk continuously until it thickens, then turn off the heat.
Assembling everything: Preheat the oven at 190C
Spread two tablespoons of the bechamel sauce on the bottom of a 9-inch baking dish then spread half of the cooked pasta.
After that, spread the filling evenly over the pasta.
Then spread the other half of the pasta over the filling.
Finally, spread the bechamel sauce on top.
Bake for one hour or until the top becomes golden brown.
Notes
Don't overcook the pasta it will oven-bake for around an hour, which will make it softer.
In this recipe, I make bechamel sauce without using butter at all; however, if you like the traditional way of making bechamel feel free to make it that way.