Begin by bringing a large pot of salted water to a boil. Add the penne pasta and cook according to package instructions until al dente. Drain and set aside, reserving about 1/2 cup of the pasta water.
In a large skillet, melt the unsalted butter over medium heat. Add the minced garlic and sauté for about 30 seconds until fragrant. Stir in the mushrooms and cook until they are tender and golden, about 5 minutes.
Sprinkle the flour over the mushroom mixture and stir well to combine. Cook for another minute, ensuring the flour is well incorporated and slightly golden.
Slowly pour in the chicken stock and milk, whisking constantly to prevent lumps. Bring the mixture to a gentle simmer and let it thicken for about 3-5 minutes.
Add the Italian seasoning, salt, and pepper to taste. Stir in the sun-dried tomatoes, cooked chicken, and baby spinach. Mix until the spinach wilts and everything is heated through.
Fold the cooked penne pasta into the sauce, mixing well to coat. If the sauce is too thick, add a little reserved pasta water until you reach your desired consistency.
Remove the skillet from heat and stir in the freshly grated Parmesan cheese. Serve immediately, garnished with additional cheese and fresh thyme if desired.