Preheat oven to 425 degrees.
Toss butternut squash with half crushed garlic, onion, about 3 Tbsp olive oil, salt and pepper. Spread on cookie sheet and roast for 20-30 minutes, stirring occasionally until golden-brown and tender. Puree about ¾ of squash and add ½ balsamic. If sauce is too thick, add pasta cooking water at the end.
While squash is roasting bring large pot of salted water to boil. Cook according to package directions and drain, reserving 1 cup of pasta cooking water
While 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 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!