Preheat your oven to 375.
Bring a medium pot of salted water to a boil. Add the chicken and boil for about 15 minutes, until cooked through. Remove from the water and let cool about five minutes. Shred with your fingers, or two forks. Place the asparagus in the hot water for 30 seconds. Remove and run under cold water to stop the cooking. Cut the stalks into 2-inch pieces. Pour the water out of the pot.
Melt the butter in the pot until foamy. Add the flour and whisk until it becomes a golden brown. Add the garlic, mustard, and a good pinch of salt and whisk another few seconds. Gradually add the milk, about a half cup at a time, whisking until creamy and luscious. Add the lemon zest and juice along with another pinch of salt and give it another good whisk to cream it up.
In an 8x8 casserole dish, spoon half a cup of cream sauce in the bottom. Layer half the chicken over the sauce, followed by half the asparagus. Layer half the onion over the asparagus, followed by a cup of the cream sauce. Layer the rest of the chicken, asparagus and onion. Pour the remaining cream sauce over the dish, and sprinkle the cheese on top. Sprinkle a little parmesan over the dish if desired.
Bake for 30-35 minutes, or until the cheese is browned and bubbly. Let it cool for about 10 minutes before serving. This way it sets a bit.
Serve it up!
Makes four servings.
