The arrival of the Allegra, which had been towed by a French fishing ship since Tuesday, was delayed due to strong seas, it was earlier reported.
It docked at the Port of Victoria and the debarkation began immediately, the BBC reported.
The ship, with 636 passengers and a crew of 413, lost power in the Indian Ocean Monday due to a fire in the engine room, CNN reported, quoting Costa Cruises. The passengers, mostly from Europe, also included eight from the United States and 13 from Canada.
The Allegra is a fleetmate of the Costa Concordia, which capsized in January, killing at least 25 people.
The BBC quoted Costa Cruises as saying more than half the passengers would remain in the Seychelles to continue their holiday while others would fly to Rome on three chartered planes.
Originally, the ship, which left Diego Suarez, Madagascar, last Saturday, had been scheduled to reach the Seychelles Tuesday.
While the ship was being towed, those on board had a supply of cold food including fruit, cheese and cold cuts, and fresh bread flown regularly to the ship by helicopter, CNN quoted Costa Cruises as saying.
The Seychelles Coast Guard said one of it ships along with two tug boats joined the French fishing board to lead the Allegra to Port Victoria.
Pistorius testifies he didn't consciously pull trigger when he shot girlfriend
Pot vending machine to debut