The alarm was raised at around 10pm on Thursday when the car drove through a security barricade at Bokenäs ferry port in western Sweden and off the edge, Swedish P4 radio reports.
The boy managed to get out of the car and swim to land. He shouted to a passer-by, who saw the driver in the water and tried to save him.
“He then dove in and managed to get him up on the dock. It was a heroic effort by the man,” Joakim Hansson from Sweden’s police in the west region.
Life-saving efforts were started at the scene before the emergency services arrived and took the man to hospital by helicopter, but he later died. The details of the accident are still unclear.
“Divers have been down and looked inside the car, and they say it will be raised early in the morning. The car has been confiscated for a forensic investigation so we can see if it provides anything,” Hansson explained.
After warming up and changing clothes in the ambulance the boy did not need to go to hospital, and was collected from the ferry port by his mother.