Preheat oven to 400 degrees.
Coat a medium casserole dish with non-stick spray.
Cook pasta in salted, boiling water to al dente. Drain and set aside.
While pasta is cooking, heat butter in a medium saute pan set to medium heat. Add in the onion and garlic. Cook for 3 - 4 minutes to slightly soften veggies. Do not brown.
Add in cream cheese and stir to melt. Reduce heat to low. Stir in sour cream, milk, Parmesan cheese, 1 cup of the mozzarella cheese, salt, black pepper and red pepper flakes (if using). Stir until everything is well-combined and melted. Turn off heat.
Combine the pasta, chicken, spinach and tomatoes in a large bowl.
Add in the sauce and gently stir to coat.
Pour into the prepared baking dish. Top with the remaining mozzarella.
Bake uncovered for about 20 - 25 minutes or until casserole is bubbly and beginning to brown. Top with basil or parsley for garnish.
To prevent the pasta bake from drying out, place the baking dish on a sheet pan and add 1 - 2 cups of very hot water to the sheet pan once in the oven.
