Bring a large pot of salted water to a boil. In the meantime, heat olive oil in large skillet over medium heat and cook bacon until golden brown and most of the fat has rendered, about 8 minutes. Add the onions, sprinkle lightly with salt, and cook and stir for another 8 minutes, until tender.
Push bacon/onion mixture to the side, increase heat to medium-high and add the mushrooms to the pan. Cook without stirring until they start to sizzle and brown, releasing their liquid, about 5 minutes. Lower heat, sprinkle with salt and then stir to combine with bacon and onions and cook another 3 minutes or so.
Cook pasta in boiling salted water until al dente, about 10 minutes. Transfer pasta to skillet, reserving pasta cooking water. Reduce heat to low and slowly stir in 1 cup of pasta water. Cook and stir, scraping up any browned bits, until sauce is silky and pasta is evenly coated, 2-3 minutes.
Turn off heat and stir in chopped parsley and half the Parmesan cheese. Season to taste with salt and pepper. Serve in pan, or transfer to large bowl, and top with remaining cheese. Enjoy.