The Azamara Quest drifted for 24 hours after a fire damaged the engines. Repair crews fixed some of the problems, allowing the ship to slowly move towards port.
Busses began shuttling the passengers to hotels upon landing in Malaysia. Five crew members suffered smoke inhalation and 201 passengers are Americans.
The vessel left Hong Kong on Monday for what was supposed to be a 17-day Southeast Asian cruise. It made a port call in Manila and left for Sandakan on Thursday. It had been scheduled to make several stops in Indonesia before arriving in Singapore on April 12.
The Associated Press contributed to this report.