The Labrador, called Noodle, was being brought home to the island of Ischia by owner Mario Di Meglio when he slipped out of his leash and fell overboard.
Di Meglio told La Repubblica that he immediately alerted the crew, but they refused to stop the ferry, saying the pet had most likely drowned.
But a little later, a tired Noodle was found swimming in the open sea by a group of sailors from the RYCC Savoia club.
The video below shows the frightened puppy approaching the boat, before being plucked to safety.
"He was visibly exhausted, his legs almost paralysed by the cold. He trembled and wept," he said.
They dried the puppy off and held him close in a bid to warm him up, before contacting a rescue boat to take the pet back to shore.
He was then reunited with his relieved owner.
"I am very happy, I could embrace him again," Di Meglio said.
"But I'm still upset and angry about what happened: when the dog fell into the sea, and the ferry would not stop."