Heat 1 tbsp of olive oil on medium heat, add onions and garlic.
Cook on medium heat for about 12-15 minutes, stirring frequently, covering for first 6 minutes, add a pinch of salt and cook uncovered.
Onions should be starting to turn golden and caramelize. Add half of the balsamic vinegar to, scrape bottom of the pan and push onions to sides.
Turn heat to medium-high, add 1 tbsp oil, cook chicken in center of the pan, 2 at a time. Once cooked through, remove to plate to rest.
Add remaining oil and mushrooms, cook until tender. Once mushrooms are tender, add remaining balsamic vinegar, mix well, add spinach to pan and cook until wilted.
Cook pasta separate and drain
Add cream, milk, and cheeses to the pan. Mix on medium-low, continue mixing until cheese is melted (5-10 minutes).
Serve immediately over pasta. Sprinkle with shaved parmesan….because cheese is a beautiful thing.