It was Vos' second consecutive Giro Rosa stage win, with Kennedy coming in at second followed by Denmark's Cecilie Uttrup Ludwig.
The second place finish, however, was still Kennedy's first World Tour podium finish.
"Right at the end, I looked back and thought I had it, my first World Tour win but as I raised my fist in the air, Vos came past me. I was absolutely spent," Kennedy said.
"Obviously I am very very disappointed to miss out but it is still my best result. I haven't had a World Tour podium before so I can be really happy with that."
Lesson most definitely learnt: always sprint beyond the line and never celebrate early. It hurts to come so close to my first #WWT win at #girorosa today, but I can be very happy with my form and how @MitcheltonSCOTT executed our plan perfectly (until 3m to go š¤¦š¼āāļø) pic.twitter.com/xDyFZ7rM4G
Vos' victory means she moved up to third in the general classification behind Ludwig in second and Poland's Katarzyna Niewiadoma, who has the overall lead.
"Lucy had a great attack and she had a good lead," Vos said.
"She was on the cobbles and there were only two lines we could take in between the cobbles, she was on the right side,
"I was on the left and I had slightly more speed, so she put her arm in the air and I came around in the last five metres, so for her that was pretty sad. I told her not to do that again."