Cook pasta according to directions on packaging as indicated and set aside.
In a medium pan, sautee the onions over medium heat until softened.
Next, add garlic, vegan mince or TVP and nutmeg. If using TVP, be sure to season well with sea salt and black pepper. Cook for 3-5 minutes until browned before adding in tomato sauce. Stir through and simmer on low heat for another 5 minutes before setting aside.
Next comes the bechamel sauce, whisk the flour and milk together well to ensure no lumps. I like to use an old jar or a protein shaker bottle for this.
In a small saucepan melt the vegan butter if using before adding in the milk and flour mixture.
Whisk continuously on medium heat until thickened and season with sea salt and black pepper as desired. If you have trouble with thickening whisk in another tbsp of flour or cornstarch - depending on what non-dairy milk you use you may have varying results, I find soy milk the best but almond and rice milk also work well. Once thickened remove from heat and set aside.
To assemble, mix the mince sauce and pasta together and layer in a baking dish with the bechamel sauce. If you like you can mix half the bechamel sauce in with the pasta and then layer however I prefer to pour all the behcamel on top and give the dish a good shake so that it seeps down in between the pasta. If using vegan cheese make sure you layer it underneath the bechamel.
Bake it in the oven at 200 degrees for 30-45 min or until the top is golden brown - be careful not to overcook as the pasta can get quite dry.