Preheat oven to 350℉. Lightly grease a 9x13 baking dish; set aside. Bring a large pot of water to boil and cook noodles until a couple minutes before al dente. Drain and lightly toss with a little oil to prevent sticking.
Saute onion in the melted butter over medium heat until starts to soften. Season with salt and pepper to taste. Stir in the garlic and cook for 1 minute. Stir in the flour and cook for 1 minute.
Whisk in the milk until smooth. Cook, stirring frequently, until thickened. Remove from heat and stir in 1 cup shredded mozzarella, drained pasta, spinach, chicken, tomatoes, and Parmesan cheese. Pour into prepared pan. Top with remaining shredded mozzarella.
Bake for 20-25 minutes or until hot and bubbly and cheese is melted.
Notes
FREEZER-FRIENDLY: Wrap completely cooled casserole in heavy-duty foil and freeze for up to three months. Thaw overnight in the refrigerator. Can freeze casserole baked or unbaked.