The Viking Sky was carrying 1,373 passengers and crew, going from Norway's Arctic north to the southern city of Stavanger, when it had engine trouble along Norway's rough, frigid western coast.
Struggling in heavy seas to avoid being dashed on the rocky coast, the ship issued a mayday call on Saturday afternoon.
Viking Sky cruise ship passenger Rodney Horgen can pinpoint the moment when he thought he was facing the end: when a huge wave crashed through the ship's glass doors and swept his wife 9 metres across the floor. Mr Horgen, 62, of Minnesota, was visiting Norway on a dream pilgrimage to his ancestral homeland when the luxury cruise trip quickly turned into a nightmare.
Mr Horgen said he knew something was badly amiss when the guests on the heaving ship were all summoned to the ship's muster points "When the windows and door flew open and the 2 metres of water swept people and tables 6 to 9 metres, that was the breaker," Mr Horgen said. "I said to myself, 'This is it'. I grabbed my wife but I couldn't hold on. And she was thrown across the room. And then she got thrown back again by the wave coming back."
Photos posted on social media showed the ship listing from side to side and furniture smashing violently into the ship's walls.The hands and faces of fellow passengers were cut and bleeding from the shattered glass, he said.
An experienced fisherman, Mr Horgen said he had never experienced such rough boating conditions. "I did not have a lot of hope. I knew how cold that water was and where we were and the waves and everything. You would not last very long," he said. "That was very, very frightening."
And yet the most frightening part of the trip was yet to come. That would be when passengers like Mr Horgen were winched one by one off the heaving ship by helicopter, as winds howled around them in the dark of night, by rescue workers trying to evacuate everyone on board.
Coast guard official Emil Heggelund estimated to the VG newspaper that the ship was only 100 metres from striking rocks under the water and 900 metres from shore when it stopped and anchored in Hustadvika Bay so passengers could be evacuated. Yet waves up to 8 metres high were smacking into the ship, making it impossible to evacuate anyone by boat.
Norway's Joint Rescue Coordination Centre stepped up, sending five helicopters in.
Passenger Alexus Sheppard told AP that people with injuries or disabilities were winched off the cruise ship first. "It was frightening at first. And when the general alarm sounded it became VERY real," she wrote in a text.
Janet Jacob, among the first group of passengers evacuated to the nearby town of Molde, told Norwegian broadcaster NRK that the winds felt "like a tornado" and prompted her to start praying for everyone on the ship. "I was afraid. I've never experienced anything so scary," she said.
"We saw two people taken off by stretcher," passenger Dereck Brown told Norwegian newspaper Romsdal Budstikke. "People were alarmed. Many were frightened but they were calm."
Viking Sky heads to port under it's own power
Viking Ocean Cruises, the company that owns and operates the ship, said 20 people were injured "as a result of this incident, and they are all receiving care at the relevant medical centres in Norway, with some already having been discharged".
The airlift evacuation went all through the night and into Sunday morning, slowing for a bit when two of the five rescue helicopters had to be diverted to save nine crewmembers from a nearby ailing cargo ship.
In all, 479 passengers were airlifted to land by helicopters, leaving 436 passengers and 458 crew members onboard, the company said, when the Viking Sky's captain decided on a new plan.
Einar Knudsen from Norway's Joint Rescue Coordination Centre said the airlift was halted when the Viking Sky's captain decided before noon on Sunday to try to bring the cruise ship to the nearby port of Molde on its own engines. "The conditions were good enough for the captain to have no more evacuations," Mr Knudsen said.
Three of the ship's four engines were working as of Sunday morning, the centre said, so a tug boat and two other vessels assisted the Viking Sky as it slowly headed to Molde under its own power. It finally arrived at the port late Sunday afternoon and its remaining passengers and crew were taken off.
The Viking Sky was a relatively new ship, delivered in 2017 to operator Viking Ocean Cruises.
It had been visiting the Norwegian towns and cities of Narvik, Alta, Tromso, Bodo before its scheduled arrival Tuesday in the British port of Tilbury on the River Thames.
The passengers mostly were an English-speaking mix of American, British, Canadian, New Zealand and Australian citizens.
Viking Cruises chairman Torstein Hagen praised the rescue operation by Norwegian authorities and the actions of the vessel's crew. He told Norway's VG newspaper that the events surrounding the Viking Sky were "some of the worst I have been involved in, but now it looks like it's going well in the end and that we've been lucky".
Shipping tycoon Mr Hagen is one of Norway's richest men and the founder of the Switzerland-based Viking Cruises, which that operates river and ocean cruises under two business units.
"I'm very proud of our crew," Mr Hagen told VG. When asked why the cruise ship ventured into an area known for its rough waters in the middle of a storm that had been forecast by meteorologists, Mr Knudsen, from Norway's rescue service, said it was the captain's decision to proceed with the cruise.