Cook pasta in salted water according to package directions for al dente.
While pasta water is heating, chop onion, shallots, garlic and slice mushrooms.
Heat 2 tbsp olive oil on medium high heat in a 5 qt saute pan.
Add onion, shallots and garlic.
Add salt, stir and cook until translucent.
Add mushrooms, and cook until all liquids have evaporated ((about 8 minutes), stirring frequently.
Add white wine, cook until almost completely reduced (there should be about 1/4 cup of liquid left in the pan)
At this point, add pasta to boiling water while you finish the mushroom sauce.
Add spinach to the pan with the mushrooms, stir and cook until wilted.
Add shredded cheese, heavy cream and freshly ground pepper. Cook until slightly thickened
Drain pasta and add to the sauce. Stir and cover, turn off the heat and let it rest for 2 to 5 minutes so that the pasta absorbs some of the flavors.
Serve garnished with chopped parsley.