Preheat a large cast-iron or heavy bottom fry pan on medium heat. Add 1 tbsp of olive oil,
onion, and garlic and cook for about 12-15 minutes, stirring frequently, covering for the 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 the bottom of the pan and push onions to the sides.
Turn heat to medium-high, add 1 tbsp oil, cook chicken in the 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.