Preheat the oven to 350°F and grease a 9x13-inch pan with butter or gluten-free nonstick spray.
Cook the spaghetti in salted water until al dente, according to the package directions. Drain, rinse with cold water, and set aside.
Melt the butter in a large skillet over medium heat. Add the onion and cook until it starts to soften, about 2 minutes. Add the mushrooms and cook until softened. Add the minced garlic and cook until fragrant, about 1-2 minutes.
Stir in the dry sherry and cook until it’s mostly evaporated. Sprinkle the flour over the mushrooms/onions and stir to coat. Cook for 1 minute.
Slowly stir in the chicken broth, evaporated milk, salt, and pepper. Stir until the sauce starts to thicken. If you draw your finger through the sauce on the back of the spoon, it should hold the line.
Stir in the chicken and Parmesan cheese. Add the spaghetti and toss to coat with the sauce. Transfer to the prepared baking dish and spread evenly in the pan. Top the casserole with the mozzarella cheese.
Cover with aluminum foil and bake for 20 minutes. Remove the foil and bake an additional 5-10 minutes or until bubbly and the cheese is melted. Serve immediately. Garnish with fresh parsley before serving, if desired.
Notes
I used a mix of cremini and gourmet mushrooms.
Half-and-half can be subbed for the evaporated milk.
You can use more than 1 cup of mozzarella, if desired.
Colby Jack or Monterey Jack can be subbed for the mozzarella.