Preheat your oven to 400°F (200°C). Line a baking sheet with foil or parchment for easier cleanup.
Prep the squash by slicing them in half lengthwise and scooping out the seeds. Brush the cut sides with 1 tablespoon of olive oil and season with salt and pepper.
Place the squash halves cut-side down on the prepared baking sheet. Roast for 35-45 minutes until fork-tender but still holding their shape. The exact time will depend on the size of your squash, so start checking at the 30-minute mark.
While the squash roasts, make the filling. Heat the remaining tablespoon of olive oil in a large skillet over medium heat. Add the sausage, breaking it up with a spoon as it cooks until browned and cooked through, about 5-7 minutes.
Add the onion and celery to the sausage and cook until softened, about 4 minutes. Toss in the garlic and cook for another 30 seconds until fragrant.
Stir in the mushrooms and cook until they release their moisture and begin to brown, about 5 minutes.
Add the diced apple, sage, thyme, and nutmeg. Cook for 2-3 minutes until the apple begins to soften slightly but still maintains some texture.
Fold in the spinach and cook just until wilted, about 1-2 minutes. Remove from heat.
Stir in ¼ cup of the Parmesan cheese, all of the cranberries, and most of the nuts (save a few for garnish). Taste and adjust seasonings as needed.
When the squash is tender, remove from the oven and carefully flip them over on the baking sheet, creating "bowls" with the hollow side up. If they're wobbly, you can create a small flat spot on the bottom to help them sit steadily.
Fill each squash half generously with the sausage mixture. It's fine if it heaps up a bit – more is more here!
Sprinkle the remaining Parmesan cheese on top of each filled squash, along with breadcrumbs if using.
Return to the oven and bake for an additional 10-15 minutes, until the filling is hot and the top is golden and slightly crispy.
Garnish with the reserved nuts and some fresh herbs if you're feeling fancy, then serve hot.