According to reports in local newspaper Helsingsborg Dagblad, the captain made a sudden announcement that a ferry arriving from Elsinore was about to crash at around 9pm.
Three ambulances were sent to the port to treat injured passengers on the Scandlines/HH-Ferries boat. One crew member and a passenger were taken to hospital with minor injuries that needed further treatment.
Ferry services between the two ports were not expected to be affected on Monday morning.
Witnesses reported seeing glasses and dishes smashing as the ferry started to wobble ahead of the crash.
The collision tore a large hole in the hull on the port side of the boat.
20-year-old Alexandra Premholt told Helsingsborg Dagblad that she had heard the captain cry out and then started to feel scared.
"It was only later that I noticed people had fallen and hurt themselves," she added.
Jimmy Lundberg was sitting in the cafeteria when he heard an announcement on the boat's speaker system:
"The captain - with a stressed voice - said "hold fast, hold fast" and then in the middle of his sentence the boat came to a sudden stop".
"I saw an elderly lady hit her head and get a deep cut on her forehead," he told the newspaper.
The ferry has been moved from the scene of the accident. Photo: TT
Police in the area said they had been in contact with the captain and had begun an investigation into what caused the crash. The ferry has been moved from the scene of the accident.
There has been criticism of the way Scandlines/HH-Ferries dealt with passengers following the accident.
"On board we did not get any further information, just that we could drive off the ferry and then "thank you and goodbye". Very bad behaviour in my view," passenger Martin Östring told Helsingsborg Dagblad.
The ferry company did not respond to the newspaper's requests for interviews.
A total of 143 people were on board when the accident happened, 124 passengers and 19 crew members.