Heat the olive oil in a Dutch oven or a large pan with a lid over medium heat.
Add the chicken and brown on all sides. Don't worry about cooking it all the way through. Add in the garlic, mushrooms, sun-dried tomatoes, oregano, basil, onion powder, red pepper flakes and salt and pepper. Cook for several minutes, letting the garlic brown slightly.
Add in the chicken broth and milk. Raise the heat to a low boil.
Add in the dry pasta. Stir to incorporate it. A bit, then lower the heat to a simmer and place the lid on the pan. Let the pasta cook for about eight minutes or until it is al dente.
Remove the lid and stir. Stir in the flour, then add the cheeses and continue stirring regularly for five to 10 minutes, making sure to scrape the bottom to keep the cheese from sticking. Once the sauce reduces into a thicker, creamier consistency, stir in the fresh spinach. Let the pasta continue to heat through until the spinach is wilted, and serve.