Heat the olive oil in a large Dutch oven or deep 12-inch skillet over medium-high. Add the mushrooms and 1/2 tsp salt; cook 8-10 minutes, stirring only every couple of minutes, until golden and their liquid has cooked off.
Add the onion and cook 3 minutes until softened. Stir in the garlic and cook 30 seconds until fragrant.
Pour in the broth and scrape up any browned bits. Stir in the pasta, bring to a boil, then reduce to a steady simmer and cook uncovered 10-12 minutes, stirring every 2 minutes, until the pasta is al dente and most of the broth is absorbed.
Reduce the heat to low. Stir in the milk and Parmesan and cook 1-2 minutes until the sauce turns creamy; do not let it boil hard.
Add the spinach and stir for 1 minute until wilted. Turn off the heat, stir in the black pepper, taste for salt, and let the pasta rest 3-4 minutes to thicken. Serve with extra Parmesan.