Preheat oven to 350°F
Cut butternut squash in half lengthwise. Scoop out and discard the seeds, then put both halves on a baking tray cut side up.
Mix the tbsp of olive oil, garlic, salt and pepper in a small bowl. Brush the butternut squash with this mixture inside and outside.
Bake for 60 to 75 minutes until the squash is cooked and fork tender. The timing may vary a bit depending on the size of your squash.
Meanwhile, prepare the stuffing: Heat olive oil in a large pan at medium heat. Add mushrooms and sauté, taking care not to crowd them, and keep them in a single layer. Cook for about 1 minute on one side, flip them, and cook for 2-3 more minutes. When they are nicely browned, remove them from the pan and place them in a separate bowl.
If necessary, add more olive oil to the pan. Sauté the onion and celery until tender, for about 5 minutes. Add the garlic and cook until fragrant, about 1 minute. Add the mushrooms back in the in pan.
Pour the vegetable broth over the vegetables, add the rosemary sprig, salt and pepper, and combine well. Add the vegan butter and cook until melted.
Remove rosemary sprig. Add the stuffing mix and stir to combine. Remove from heat. Stir in dried cranberries and walnuts.
Stuff the squash: Pack in as much of the stuffing into both sides of the squash as you can. Take one squash half and flip it on top of the other. Use kitchen string to tie up the squash in 3 or 4 places holding it together. Lightly brush the top with more olive oil.
Bake for 20 to 35 minutes until heated through. Season the top with freshly ground pepper and fresh rosemary. Using a wide spatula, carefully transfer the squash to the serving plate. Slice the squash into rounds and serve with Vegan Caramelized Onion Gravy.