Bring a large pot of water to a boil over medium high heat.
Heat a large sauté pan over medium high heat.
Add olive oil to skillet then add sausage. Use a wooden spoon to break up sausage into pieces. Cook stirring occasionally until sausage is browned and almost cooked through, about 8-10 minutes.
Add mushrooms to skillet and cook until mushrooms start to brown, about 3-4 minutes.
Add onions and garlic to skillet and cook until onions start to get translucent about 2-3 minutes. Season with salt and pepper.
Add your pasta to boiling water and cook until al dente, about 2 minutes shy of package directions.
While pasta is boiling, add spinach to sausage, mushroom, onion mixture.
Sauté spinach until wilted and cooked through. Continue to stir mixture.
Drain pasta, reserving one cup of starchy water. Add pasta to sausage mixture.
Season with salt and pepper. Add 1/2 cup of grated cheese, and slowly pour in pasta water until a thin sauce forms. You may not need all of the water depending on quickly this happens.
Taste and adjust seasoning as needed. Top with remaining grated cheese. Serbe immediately.