Boil water and cook penne per package instructions. Drain and set aside.
Heat a large flat bottomed pan and add butter. Add garlic and onions to butter and sauté for 2-3 mins, being careful not to let the garlic burn.
Add milk and cheeses and gently whisk as cheese melts. Then add salt and pepper, lemon zest and lemon juice. Gently whisk again.
When cheeses are melted, add in the chopped asparagus. Simmer uncovered for 3-4 mins to soften the asparagus. Then, add shrimp, drained penne and stir to evenly coat all ingredients.
Finish by stirring in fresh parsley and then topping each bowl with a sprinkle of Parmesan and black pepper