Preheat oven to 425 degrees. Toss butternut squash with ½ the crushed garlic, onion, about 3 Tbs. olive oil, salt and pepper. Spread on a cookie sheet and roast for 20-30 minutes, stirring occasionally until golden-brown and tender. Puree about ¾ of the squash and add ½ the balsamic. If the sauce is too thick, you can add pasta cooking water at the end.
In a large pot of salted, boiling water, boil pasta according to box directions and reserve about 1 cup of the starchy pasta water. Drain and add pasta water to squash puree if you prefer the sauce thinner.
Meanwhile, in a medium sauté pan, heat 2 Tbs. olive oil and add remaining garlic, more onion if you, and mushrooms. Season with salt and pepper and sauté for about 5 minutes until mushrooms begin to brown. Add the remaining balsamic and toss in the spinach and red pepper flakes. Sauté for about 2 minutes, until the spinach wilts slightly.
To serve, toss about ½ the sauce with the hot pasta and plate a nest of pasta on each plate. Top with additional squash sauce, a spoonful of the mushroom-spinach mixture, a dollop of ricotta, and a sprinkle of Parmesan. Serve warm and enjoy!