01 - Preheat oven to 400°F. Grease a medium baking dish (about 2 quarts) with butter or nonstick spray.
02 - Heat olive oil in a large skillet over medium heat. Add chicken pieces, season with salt and pepper, and sauté until lightly browned but not fully cooked through, about 4 to 5 minutes. Transfer to a plate and set aside.
03 - In the same skillet, melt butter. Add diced onion and sauté for 2 minutes until translucent. Stir in garlic and cook for 1 minute until fragrant.
04 - Add flour to the skillet and cook, stirring constantly, for 1 minute. Gradually whisk in chicken broth, followed by heavy cream and lemon juice. Continue cooking and stirring until the sauce thickens, about 3 minutes.
05 - Remove skillet from heat. Stir in thyme, nutmeg, half of the Parmesan, and half of the mozzarella until the cheese melts and the sauce is smooth.
06 - Fold the seared chicken and asparagus pieces into the sauce, tossing gently to coat everything evenly.
07 - Pour the mixture into the prepared baking dish. Sprinkle with remaining mozzarella and Parmesan. Top with breadcrumbs if using.
08 - Bake for 25 to 30 minutes until the chicken is cooked through, asparagus is tender, and the top is golden brown and bubbling.
09 - Let rest for 5 minutes before serving to allow the sauce to set.