Fill a medium-size pot with water and cook the pasta according to its packet directions. Skip this step if you are using zoodles.
In a large frypan over high heat, add the onion and oil. Saute for 3 minutes or until slightly softened. Add the garlic and saute for 1 minute or until fragrant. Add the sauteed onion and garlic to a high-powered blender.
Drain the cashews and add them to the blender with the milk, nutritional yeast, salt and cheese if using. Blend until the mixture is as smooth as possible.
If you're using any of the optional add ins: In the large frypan, saute the mushrooms in a dash of oil until golden brown. Add the spinach and saute for 1 minute or until wilted.
Add the creamy sauce to the frypan and heat through. If you used cheese, make sure it has completely melted. Add the pasta and mix until well combined.
Divide the pasta between 4 plates and enjoy! The pre-prepared pasta can be stored separately from the sauce in an airtight container in the fridge for up to 3 days.