Pat the chicken completely dry with paper towels. Cut the chicken in bite-sized cubes and season with salt and pepper as desired. Toss in 1 1/2 tbsp cornstarch until fully absorbed into the chicken.
Spritz a large nonstick skillet with cooking spray, over medium-high heat. Add chicken in two batches, so they can brown evenly. Cook on each side for 2-3 minutes, until a light golden-brown crust forms.
Remove chicken from pan and let rest on a plate. Reduce heat to medium.
Sauté onions in pan for about 3-4 minutes, or until slightly golden. Mix in mushrooms and increase heat to medium-high.
Let the mushrooms sit for a few minutes over the heat until slightly caramelized, then start mixing and sauteing until the mushrooms get somewhat soft, about 5 minutes. Add in the garlic and 1 tsp salt, along with the optional red pepper flakes. Sauté 1 more minute.
In a separate cup, whisk 1 tbsp cornstarch into the wine and half and half. Pour into pan to deglaze. Reduce heat to medium-low and simmer until thickened, about 5 minutes.
Add the chicken back to the pan and simmer in sauce for another 3-5 minutes. Season with black pepper to taste. Taste sauce and add in extra 1/2 tsp of salt if needed.
Mix the pasta and a few splashes of the cooking water into the sauce until everything is evenly coated. Continue to cook on low heat until sauce has started to absorb into pasta, about 2-3 minutes. Add more pasta water if the pasta gets too dry.
Mix in the parmesan cheese until melted and serve!