1. Preheat oven to 157 degree C or 350 degree F.
2. In medium sauce pan boil water, add salt, and put penne pasta in it. Stir and cook for 10 minutes. Drain and set aside.
3. Place a small sauce pan on medium heat, and melt margarine in it.
4. Sift and add flour, a little at a time. Mix well until it forms a thick paste.
5. Throw garlic paste, and stir it well.
6. Add basil and mix.
7. Pour milk, a little at a time, whisking continuously until you get a nice and creamy sauce.
8. In a separate sauce, heat oil on medium, add mushroom and sauté for 1-2 minutes. Set aside.
9. Throw mozzarella cheese in the pan with creamy sauce. Mix and cook until cheese melts. Set aside for few minutes.
10. Transfer creamy sauce into a large sauce pan.
11. Drop cooked pasta in it. Toss.
12. Throw mushrooms and mix well.
13. Pour soy sauce, and baby spinach in it. Mix.
14. In a baking dish, transfer the mixture. Top it up with cheese.
15. Pop it in oven, and bake for 20 minutes.
16. Remove from oven, and allow it to cool for 5-10 minutes.
17. Serve penne pasta mushroom casserole with a