Preheat the oven to 425 degrees F. Line a baking sheet with parchment paper and place the squash cubes on top. Toss with olive oil and maple syrup. Toss with the salt, pepper and nutmeg. Roast for 15 minutes, then toss, roasting for 15 minutes more until fork tender. Remove from the oven and let cool slightly.
When the squash is roasting, heat a large skillet (or even a pot!) over medium heat and add the bacon. Cook until it is slightly crispy and some of the fat has rendered, then stir in the onions. Cook, stirring occasionally, for at least 15 minutes so they onions begin to caramelize and the bacon is crispy. Stir in the garlic and mushrooms and cook until the mushrooms soften, about 5 minutes. Add the fresh baby spinach to the skillet and gently toss. Cook until the spinach completely wilts.
In a large bowl, mash three quarters of the squash (saving a few cubes for garnish) until it resembles mashed potatoes. Add the softened cream cheese and mascarpone to the bowl and stir and mash until combined. Add the contents of the skillet – the bacon, onions, mushrooms, spinach and garlic, and stir until completely combined. Fold in the grated cheeses. Spoon the mixture into a baking dish and bake for 30 minutes, or until the cheese is bubbly and golden and melty. Serve immediately with chips and crackers!