Preheat oven to 425 degrees.
Toss butternut squash with ½ the crushed garlic, onion, about 3 Tbsp 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, add pasta cooking water at the end.
Meanwhile, bring large pot of salted water to boil and cook according to package directions.
While the squash is roasting and pasta is cooking, heat 2 Tbsp olive oil medium saute pan. Add mushrooms, onions and remaining garlic. Season with salt and pepper and cook for about 5 minutes, until mushrooms release liquid and start to darken. Add remaining balsamic, 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 - adding pasta cooking water as needed to make saucy - 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!