Passengers on the crippled Italian liner Costa Allegra Thursday said they thought they would have to get into lifeboats and abandon ship in pirate-infested waters when it was disabled by fire.

"When it all happened we were ready to get into the lifeboats. We thought the worst had happened," said Chris, one of more than 600 passengers who stepped gratefully ashore on the Seychelles after a three-day ordeal.

"I couldn't believe it, after what happened to the other cruise ship. I could just picture having to jump for it into the water -- my wife was terrified."

The liner's Italian chaplain, Father Camillo Testa, described what he said was "a real emergency" when the fire broke out Monday in the ship's engine room, knocking out lighting and air-conditioning on board.

"The fear was that we would have to abandon ship with all these children and elderly people in the middle of the Indian Ocean, far from Reunion, the Seychelles and Mauritius."

"The worst moment was when I heard the coded alarm. I was in the cabin. The emergency procedure was implemented immediately. We went to the assigned deck," he told Italy's Sky TG24 news channel.

"Not being able to go back into the cabins sparked a bit of panic on board."

The ship drifted for several hours before being taken into tow by a French tuna fishing trawler, and limped into Victoria port on Thursday after a three-day ordeal for the more than 1,000 people on board.

Medical teams and ambulances were on standby as passengers stepped exhausted and angry onto the dock.

Italian investigators were also dockside waiting to question the crew of the ship, a converted container vessel which belongs to the same fleet as the doomed Costa Concordia that went aground off the Italian coast last month, with the loss of 32 lives.

Nine people are under investigation for the January 13 disaster, including three Costa Crociere executives, the ship's captain and five other crew members.

"It's been a rough ride, we had to sleep on deck because there was no air conditioning and the cabins stank, because we couldn't flush the toilets," said Alena Daem, a 62-year-old passenger from Belgium.

"There was food, but nothing that had to be cooked - we ate a lot of bread. I'm exhausted and pretty glad the whole thing is over," Daem added.

Helicopters have been delivering fresh food to the ship over the last few days.

Frightened passengers spent most of the time crowded on the Costa Allegra's decks fighting sweltering temperatures since there was no power to their cabins.

"It was absolutely atrocious," said Henri, an 82-year old Frenchman, his voice breaking with emotion, as he arrived on the chaotic dock, crowded with passengers, piles of luggage, officials and journalists.

"No lights, no toilets, I could hardly sleep up there on deck with so many people all crushed together... The first day was fine but it got steadily worse, it was awful."

Passengers appeared tired and disorientated as they arrived on land, although some in apparently better spirits had waved and cheered from the ship's decks as they arrived. Long lines of buses waited to swish them off to hotels, from where around half the passengers have chosen to fly home.

The cruise company said the other half had opted to take the rest of their holiday in the Seychelles, an Indian Ocean idyll famous for its palm-fringed beaches.

Red Cross worker Sandra Sabury said teams were offering "water and psychological support because the passengers have been in a very stressful condition."

Seychelles Foreign Minister Jean-Paul Adam welcomed passengers as they disembarked.

"They've had a tough experience on board that ship, but hopefully they'll feel a lot better once... we look after them," Adam said.

The fire knocked out the ship's engines and generators as the Costa Allegra was making its way from Madagascar, which it left Saturday, to the Seychelles, where it had been due to dock Tuesday.

Emergency crews on board extinguished the fire after a few hours and no-one was injured, but the liner was left powerless and adrift before the tuna boat, the Trevignon, responded to a Mayday call.

Coastguard vessels and naval aircraft from both the Seychelles and India kept watch on its slow journey to port, amid fears of a possible attack from Somali pirates who prey on vessels in the region.

Seychelles authorities prepared hundreds of hotel rooms and secured seats on aircraft to fly the Costa Allegra's 1,000 passengers and crew back home.

Costa Crociere said there were 627 passengers and 413 crew from 25 countries on board the Allegra, including nine Italian Marines hired to guard against possible pirate attacks. It said everyone was in good health.

After the Seychelles, the liner had been due to travel through the Red Sea to the Mediterranean.