Cook pasta according to packet instructions. Reserve ½ cup of pasta cooking water. Make sure to salt the pasta cooking water, about 1 - 2 tbsp.
In a large skillet/pan, cook onions until lightly golden and soft. On medium heat for about 5 minutes.
Add minced garlic and stir through for 30 seconds or until garlic is fragrant.
Add sliced mushrooms and turn the heat to high. Cook mushrooms until golden brown. This will take about 5 - 6 minutes. Remove and set aside. (note 3)
Same pan, melt butter on low heat then stir in flour.
Once flour and butter have comebined, slowly pour in milk. Stiring constantly. Best use a whisk at this stage. The sauce should be quite thick.
Now, slowly pour in vegetable stock as you whisk the sauce. The stock will loosen the sauce up into a smooth creamy sauce. Allow sauce to simmer for 1 minute.
Add sauteed mushrooms, lemon juice, salt and pepper. Mix thoroughly. Continue to cook on low heat. Taste the sauce and adjust for seasoning.
Mix in cooked pasta and fresh parsley. Thoroughly mix the sauce into the pasta, for about 2 minutes. If the sauce needs loosening, mix in some of the reserved pasta cooking water.
Optional (but highly recommended): serve with freshly grated parmesan cheese.