Passengers had just sat down to dinner, a few hours after leaving the port of Civitavecchia near Rome on a week-long cruise to Barcelona and Majorca, when a loud bang interrupted the piano player and the ship began to list.
"We heard a loud rumble, the glasses and plates fell from the tables, the ship tilted and the lights went off," said passenger Luciano Castro.
"What followed was scenes of panic, people screaming, running around the place. Close to us a five-month pregnant young woman was crying and panicking."
The ship, a vast floating resort with spas, theatres, swimming pools, a casino and discotheque, was carrying mainly Italian passengers, but also many foreigners including British, Germans, French, Spanish and Americans.
Many were elderly and some were in wheelchairs.
"It was complete panic. People were behaving like animals. We had to wait too long in the lifeboats," said 47-year-old Patrizia Perilli.
It also became more difficult for the lifeboats to be lowered the more the ship listed.
"We thought we wouldn't make it. I saw the lighthouse but I knew I couldn't swim that far but lots of people threw themselves into the sea. I think they are some of the dead."
Angel Holgado, 50, a guitarist who had been performing when the ship foundered, said he got into a lifeboat but decided to abandon it after it became dangerously overcrowded.
"There was terrible panic and fear and I jumped into the water and swam to the shore," he said.
After a night-time operation involving helicopters, ships and lifeboats, the picturesque harbour of Porto Santo Stefano was lined with ambulances and green tents for the victims.
Passengers said they had been given little or no information in the immediate aftermath of the ship running aground.
"After approximately 20 minutes a voice told us there was a problem with the electricity that they were trying to fix," said Luciano Castro.
"The ship continued to tilt further, after 15 minutes they said again it was a problem with the electricity, but no one believed it," he said.
"Of course panic makes things worse and the crew members struggled in calming down the most active and worried passengers."
The ship was built in 2004-2005 at a cost of 450 million euros at the Fincantieri Sestri shipyard in Italy.