Bring a large pot of well salted water to a boil over high heat for your pasta.
Heat a large saute pan or dutch oven over medium heat. When hot add the oil and the onions with a pinch of salt. Saute until softened.
Add in the mushroom*, saute, stirring only occasionally until golden brown. Then add your garlic and stir until fragrant, about 30 seconds.
Drop your pasta in the boiling water if you haven't already. Cook until al dente, based upon the instructions for the particular pasta you're using.
Deglaze the pan with the Marsala wine, scraping the bottom of the pan to release any brown bits into the sauce. Allow to simmer rapidly until reduced by half.
While whisking, slowly add in the heavy cream until fully incorporated. Allow to come to a simmer and thicken, taste and add another pinch of salt until seasoned to your preference.
Add the spinach to the pot and stir, letting it wilt into the sauce.
Add two tablespoons of pasta water into the sauce followed by the cooked pasta and bring it all back to a simmer. Cook, stirring, until sauce has thickened and clings to the pasta.
Notes
*You may need to add a splash or two more oil depending on the mushrooms that you used. You want them to have enough oil to hear them sizzling slightly, without pools of oil in the pan.