An engine room fire on the Costa Allegra knocked out the ship's main power supply, leaving it adrift with more than a thousand people on board in waters vulnerable to pirate attacks.
Costa Cruises said an earlier plan to tow the vessel to the nearest island of Desroches had been aborted because security conditions for mooring the ship and offloading the passengers and crew "would not have been assured".
Two tugs were approaching the cruise ship to assist the Seychelles-based tuna purse-seiner Trevignon pulling the Costa Allegra, which is now due to arrive at the main island Mahe on Thursday morning.
"Helicopters will ensure continuous supply of food, comfort items, flashlights in order to mitigate guests' discomfort given the difficult conditions on board," Costa Cruises spokesman Davide Barbano said in a statement.
An evacuation off Desroches Island would have presented the ship owner and local authorities with a tricky and expensive logistical operation.
The 636 passengers and 413 crew would have had to use the ship's lifeboats to land on the exclusive coral-fringed island, where Prince William and his then girlfriend, Kate Middleton, stayed a few years ago.
Ferries or a fleet of small private planes would most likely then have shuttled the passengers to Mahe.
"Logistics and hotels on the island are not enough. It would require ... an immediate transfer from Desroches to Mahe," Barbano said.
Seychelles authorities still face a logistical headache finding accommodation in Mahe for all those onboard.
"Right now we are in consultation with the hotels on Mahe to find out how many beds are available. It's a busy time of year," Srdjana Janosevic, spokeswoman for the Seychelles presidency, told Reuters.
The giant Costa Concordia capsized on Jan. 13 after hitting rocks off the Italian island of Giglio, killing at least 25 people. Divers and rescue workers are still searching for the bodies of seven missing people.
The much smaller, 29,000-tonne Costa Allegra was sailing some 200 miles southwest of Seychelles when the fire broke out and it sent a distress signal, the company said.
The fire was put out and there was light onboard thanks to an emergency battery but no air conditioning or cooking facilities.
The passengers are from 25 different nations, including four children, with the largest contingents being 127 from France and 126 from Italy. There are 38 Germans, 31 Britons, 13 Canadians and eight Americans on board.
Seychelles is an archipelago nation in the Indian Ocean northeast of Madagascar with a population of just over 80,000. The Costa Allegra left Diego Suarez in Madagascar on Saturday and had been due to dock in Mahe on Tuesday.
It is being protected by nine members of an "anti-pirate" unit of the Italian navy, a precaution regularly taken on ships in the Indian Ocean which is prone to attacks by Somali pirates.
While yachts have been seized in the past near Seychelles, Somali pirates have yet to successfully hijack a cruise liner in the Indian Ocean.
"The ship is not in a high-risk area, but we can't be 100 percent sure," said Costa Cruises' Giorgio Moretti.
Seas in the area were moderate with winds gusting at 25 knots, the Italian coastguard said in a statement.
Shares of Costa Cruises' parent company Carnival were down 0.54 percent at 1,831 pence at 1205 GMT.
Costa was accused by some passengers of long delays and a lack of organisation in the evacuation of the Costa Concordia.
That vessel's Italian captain is under house arrest near Naples accused of multiple manslaughter and abandoning the ship.