Kooij pips Milan in breathless sprint to the line to win Giro stage nine
Ineos Grenadiers' Jhonatan Narvaez looked set to win his second stage when he attacked early and sowed panic in the peloton on the final climb through the streets of Naples.
He was leading with some 150 metres to go before Maglia Rosa holder Tadej Pogacar got involved in the lead-up to help his UAE Team Emirates colleague Juan Sebastian Molano and Narvaez was caught.
Milan was set up well by his Lidl-Trek teammate Simone Consonni but just as he was about to clinch his second stage victory, Team Visma-Lease a Bike's Kooij took the opportunity to steal the win from him, while Molano was third.
"My first Grand Tour stage win was what I was looking for but it's been a difficult and unlucky first week for our team and a hard stage today," Kooij said.
"We weren't sure to catch the breakaway riders but the team remained committed. The guys put me in an ideal position. It's been tight but I really wanted this first Grand Tour win and I hope there are many more to come".
Pogacar retained his overall lead, two minutes 40 seconds ahead of Daniel Felipe Martinez, while Geraint Thomas is third, 18 seconds further behind.
"I haven't become a lead-out man but Molano did a very good job to be at the front in the finale. He didn't get the win but third is a good result and I was happy to help a friend," Pogacar said.
"I have a comfortable advantage before the first rest day. It's nice to relax in Napoli."
Monday is a rest day and the Giro d'Italia resumes on Tuesday with stage 10, a 142-km ride from Pompei to Cusano Mutri.