Preheat oven to 180 degrees C. Lightly grease a 20x30cm baking dish.
Bring a large pot of lightly salted water to a boil. Place pasta in the pot, cook for 8 to 10 minutes until al dente, and drain.
Heat the oil in a saucepan over medium heat. Stir in the mushrooms, cook 1 minute and set aside. Melt margarine in the saucepan. Mix in flour, garlic and basil. Gradually mix in milk until thickened. Stir in 1 cup cheese until melted. Remove saucepan from heat and mix in cooked pasta, mushrooms, spinach and soy sauce. Transfer to the prepared baking dish and top with remaining cheese.
Bake 20 minutes in the preheated oven, until bubbly and lightly brown.