Bring a large pot of salted water to a boil. Add pasta and cook just to al dente; you will continue to cook the pasta more later. Before draining, reserve 1 cup of pasta water. Drain and set aside.
Using a large sauté pan, heat the olive oil and 3 tablespoons of butter over medium high heat. Add the onions and stir continuously and cook until softened, for about 5 to 8 minutes. Add the garlic and stir to combine for about 30 seconds. Add in the sliced mushrooms and continue stirring until the mushrooms release their moisture and the pan becomes more and more dry. Season with salt and pepper and add the balsamic vinegar. Mix together.
After a few minutes, add in the remaining tablespoon of butter, mix and add in the cooked pasta. Add in a 1/4 cup of pasta water, adding more if you need it but 1/4 cup should be plenty. Add in the parmesan cheese and heavy cream and, using tongs, toss everything together until combined and all the liquid is absorbed. Taste and season with salt and pepper again if needed. Garnish with the parsley, serve and enjoy!