Preheat the oven. Preheat the oven to 375°F. Lightly spray a 9x13-inch baking dish with cooking spray.
Cook the pasta. Bring a large pot of salted water to a boil. Cook the rotini for 2 minutes less than the package directions. Drain well and set aside.
Make the sauce base. In a large skillet or saucepan, melt the butter over medium heat. Add the garlic and cook for about 30 seconds, just until fragrant.
Add the flour. Sprinkle the flour over the butter and garlic. Whisk constantly for 1 minute.
Add the milk and cream. Slowly whisk in the whole milk, then the heavy cream. Cook for 4 to 6 minutes, stirring often, until the sauce is smooth and slightly thickened.
Season the sauce. Stir in the salt, black pepper, Italian seasoning, and onion powder.
Add the Parmesan. Reduce the heat to low. Stir in the Parmesan cheese until melted and smooth.
Combine the casserole. In a large mixing bowl, combine the cooked rotini, cooked chicken, Alfredo sauce, and 1 cup of the mozzarella cheese. Stir until evenly coated.
Assemble. Spread the pasta mixture into the prepared baking dish. Sprinkle the remaining 1 cup mozzarella cheese evenly over the top.
Bake. Cover loosely with foil and bake for 15 minutes. Remove the foil and bake for another 10 to 15 minutes, or until the casserole is hot, bubbling around the edges, and the cheese is melted.
Rest and serve. Let the casserole rest for 5 to 10 minutes before serving. Sprinkle with parsley, if desired.