Preheat oven to 350 degrees and grease a 9x13 baking dish with cooking spray.
Bring a large pot of water to a boil. Season water with salt, and cook pasta until al dente, according to package directions.
Slice chicken breasts into chunks and season generously with salt, pepper, and garlic powder. Heat a large skillet over medium high heat and add 2 Tablespoons of the olive oil. Sauté the chicken pieces until cooked through and lightly browned on all sides. Remove to a plate and set aside.
In the same pan, add another Tablespoon of olive oil and sauté the sliced mushrooms until tender. Remove and add to the plate of chicken and set aside.
Lower the heat to medium. Add the butter to the pan and melt. Stir in the minced garlic and cook for 30 seconds until fragrant. Stir in the soy sauce. Whisk in the flour, and continue whisking until it's combined with all the liquid. Cook for 1-2 minutes.
Once the flour is no longer raw, raise the heat and slowly start whisking in the heavy cream. Bring to a low boil.
Add in 1 cup of each cheese, and continue to whisk so that it all combines and melts. Season with salt and pepper.
In a large mixing bowl, combine the pasta, chicken, fresh spinach, and mushrooms, and then top with the cheese sauce. Stir carefully to completely combine, then spread the pasta mixture evenly in the prepared baking dish. Top with the remaining shredded cheeses.
Bake at 350 degrees for 25 minutes, until cheese has melted and is bubbling. Serve immediately.