Add ½ tablespoon of olive oil to the butternut squash and toss to coat. Spread squash on a baking sheet and sprinkle with a pinch of salt and pepper. Roast for 20 minutes, or until the squash is soft and starting to turn golden brown, flipping the pieces halfway through.
Meanwhile, heat the remaining tablespoon of olive oil in a pan over medium heat. Add the onion and cook for about 15 minutes, or until the onion begins to caramelize.
Add the balsamic vinegar and continue to caramelize the onions for another minute. Remove the onions from heat and transfer to a large mixing bowl. Remove the squash from the oven and transfer to the mixing bowl with the caramelized onions. Add the baby spinach and set aside.
Break up the tofu with your hands and crumble it into the bowl of a food processor. Add rosemary, thyme, salt and pepper. Pour in the non-dairy milk and blend until the mixture is creamy and smooth. Adjust seasonings to taste.
Pour the tofu mixture into the mixing bowl to join the onions, squash and spinach. Stir to thoroughly combine. Spoon the mixture into the pie crust and use a spatula to spread it evenly.
Bake for 35 to 40 minutes, or until the top is golden and the center is firm and not mushy. Allow the quiche to cool for at least 10 minutes before slicing and serving.