Bring a large pot of water to a boil. Add pasta and cook for 3 minutes less than the package directions. Add asparagus, return to a boil and continue cooking until the pasta and asparagus are just tender, 3 minutes more. Drain and return to the pot.

Meanwhile, whisk milk, mustard, flour, salt and pepper in a medium bowl. Heat oil in a medium saucepan over medium-high heat. Add garlic and cook, stirring, until fragrant, 30 seconds to 1 minute. Whisk in the milk mixture. Bring to a simmer, whisking constantly, and cook until thickened, 1 to 2 minutes. Stir in lemon zest and juice.

Stir the sauce into the drained pasta-asparagus mixture. Return pan to medium-low heat, stirring, until the sauce is thick, creamy and coats the pasta, 1 to 2 minutes. Stir in 1/4 cup Parmesan. Divide the pasta among 4 plates and top with the remaining 1/4 cup Parmesan.