Preheat oven to 375˚F.
Slice squash in half lengthwise and place onto a baking sheet, cut side down and roast for about 1 hour or until squash becomes fork tender.
Allow squash to cool for about 15 minutes, before scraping the flesh out with a fork (squeeze to drain any access liquid from squash). Place squash innards in a mixing bowl, lightly season with salt and pepper and set aside.
Place a large skillet over medium-high heat and add oil. Sauté garlic and shallot for 2 to 3 minutes. Add mushrooms and continue to sauté for 3 to 4 minutes or until caramelized.
Add spinach and continue to sauté for 2 to 3 minutes or until spinach has wilted. Drain excess liquid and stir mixture into the mixing bowl with spaghetti squash.
For ‘cream’ sauce: Pour 1 ½ tablespoons oil into the pot and place back over medium-high heat. Add shallot and garlic and sauté for 2 to 3 minutes.
Add cauliflower, continue to sauté for 2 to 3 minutes and season with salt and pepper. Stir in mustard and continue to sauté for 2 to 3 minutes.
Pour 1 ½ cups stock into the pot and simmer until cauliflower becomes fork tender, 6 to 8 minutes.
Carefully ladle mixture into the well of a blender and add nutritional yeast. Blend on high, adding more stock as needed. With the motor running, add vegan butter and season with salt and pepper. Blend until a smooth, glossy and creamy sauce forms.
Pour sauce over the spaghetti squash mixture and toss together until fully combined.
Pour mixture into a lightly greased baking dish and bake for 15 to 20 minutes or until the top has lightly browned.
Allow bake to cool about 10 minutes before serving.