Bring a large pot of salted water to a boil.
Add the pasta and cook until al dente according to the package directions.
Before draining, reserve a few tablespoons of the hot pasta water.
Drain the pasta and set it aside.
In a large skillet, heat the olive oil and 1 tbsp butter over medium-high heat.
Once the skillet is hot, add the chopped onion and sliced cremini mushrooms.
Sauté, stirring occasionally, until the mushrooms release their moisture and the liquid has fully cooked off.
Continue cooking for 8 to 10 minutes, or until the mushrooms and onions are browned and caramelized.
Add the remaining 2 tbsp butter, minced garlic, and Dijon mustard to the skillet.
Cook for approximately 1 minute, stirring frequently, until the garlic is fragrant.
Add the chicken broth, vegetable broth, or white wine to the skillet.
Stir in the lemon juice and lemon zest.
Allow the mixture to bubble for approximately 1 minute, scraping any browned bits from the bottom of the skillet.
Remove the skillet from the heat.
Stir in the freshly grated parmesan cheese and chopped fresh parsley.
Add a few tablespoons of the reserved hot pasta water to loosen the sauce as needed.
Add the drained pasta to the skillet.
Toss until the pasta is evenly coated with the garlic mushroom parmesan sauce.
Season with salt and pepper to taste.
Serve immediately, garnished with additional parmesan, parsley, or black pepper if desired.