The incident unfolded just before midday when the little vessel smacked into the Viking Line cruiser, which was en route to Finland. The cruise ship Grace had left Stockholm earlier in the morning carrying 1,827 passengers.
Emergency services were quickly on the scene and locals from the island of Marö assisted with the rescue. Two men and a woman were retrieved from the water and treated for shock.
"Three people ended up in the water and the boat sank," Stefan Johansson of the rescue services told the TT news agency.
Eyewitness Sara Eklund said foggy conditions likely contributed to the accident and described the trio's survival as "miraculous." She estimated that the incident took place 200 metres from the shore.
"They must have missed the boat and sailed straight into the Finnish ferry. It's a pretty big boat. They sunk and all went in at once," she told TT.
A member of the coastguard services paid tribute to the quick-thinking locals who sped to the scene in their own boats to help, describing them as "heroes".
The three rescued individuals were brought onto the island of Marö where they were given dry clothes and treated for shock. They were taken to hospital for further treatment.
Story continues below…
The incident temporarily delayed the cruise ship which was heading to Åbo via Mariehamm but it resumed its course shortly after the drama.
"We are of course very glad that these people survived. They really had guardian angels with them," Helena Kneck, communications officer for Viking Line Sweden, told TT.