Bring pot to a boil and salt the water. Cook pasta according to instructions on the box. Once cooked, save one cup of pasta water, drain and set aside.
While the pasta is cooking, heat large skillet over medium heat, add 1 tablespoon butter and toss in mushrooms. Sauté until tender and once done, transfer to a plate and set aside.
Add 3 tablespoons olive oil to the skillet and toss in onions and shallots. Sauté for few minutes until translucent.
Turn down heat for skillet to medium low and stir in flour, fresh thyme, lemon zest and juice until well combined. Stir in milk or half and half and let the sauce simmer until it thickens. If the sauce becomes too thick, stir in some pasta water slowly until it reaches desired consistency. Season sauce with salt and freshly ground pepper.
Add sautéed mushrooms and grated cheese to the cream sauce and toss to combine. Once the cheese is combined with the sauce and mushrooms, toss in pasta and mix well until pasta is well coated with the sauce.
Serve immediately with chopped parsley and additional grated cheese on top.