22 people were injured, largely from smoke inhalation, although were three badly hurt enough to be taken by helicopter to hospital, while rescuers said many others were traumatised by the experience.
Authorities in Cuxhaven said the Lithuanian ferry the Lisco Gloria was rocked by an explosion at around midnight on the upper deck. This started a fire which could not be controlled.
Six ships went to the scene to help, including the ferry Deutschland, onto which the passengers were transferred and then taken to Kiel, arriving at around 6am.
The 200 meter long Lisco Gloria, which was built in 2002, drifted towards Denmark, still on fire, for much of Saturday morning while several fire fighting ships surrounded it trying to extinguish the flames.
A further explosion made the fire even fiercer half-way through the morning, forcing the surrounding boats to focus their attention and hoses on trying to cool down the hull of the ferry to stop it sinking.
A helicopter was then used to drop a four-man team of specialists onto the burning boat, where they dropped its anchor, stopping its drift, which was taking it towards the Danish island of Langeland.
Danish authorities were set to send an oil spill team on a special boat to try to prevent environmental damage from the estimated 200 tons of diesel on the ferry.
The operation to try to put the fire out was limited in that the teams could not simply pump unlimited amounts of water onto the ship as that could end up sinking it.
Meanwhile the passengers and crew were being cared for in Kiel.
“The people are exhausted, they have had a very rough time,” said Uwe Marxen, head of the Kiel marine police.
He added, “We found around 20 injured people on board.” Most were able to leave the ferry on foot although one person had to be carried off. Those rescued included several small children.
The Lisco Gloria owner, DFDS Seaways, said it was very grateful for the swift assistance offered by the authorities.
“There were mostly Lithuanian passengers, and only a few Germans,” said Gert Jacobsen, the company’s spokesman. Those on board included 89 lorry drivers and 32 crew members.
The rescued passengers were given counselling at the marine base in Kiel while those Germans from towns nearby were expected to go home on Saturday and the others offered local accommodation. Some are expected to get on another ferry, the Lisco Maxima on Saturday evening to continue their journey.
The ferry was set to leave Kiel at around 10pm on Friday according to the timetable, and was heading to Klaipeda, Lithuania, a journey which takes 21 hours.
The explosion happened when the ferry was around 11 kilometres north of Fehmarn island.