The MS Westerdam had been turned away by five places in Asia in recent days.
Another cruise ship in quarantine in Japan has more than 200 infections – but the Westerdam, with more than 2,000 crew and passengers, has none.
Only on Tuesday, the cruise liner attempted to dock in Bangkok but was denied permission.
A Thai Navy ship escorted her out of the Gulf of Thailand, from where she set course for Cambodia.
On Thursday morning, the ship finally arrived at an anchoring point in the port city of Sihanoukville.
“This morning, just seeing land was such a breathtaking moment,” passenger Angela Jones from the US told Reuters. “I thought: is this real?”
The Westerdam, run by the US-based Holland America Line, departed Hong Kong on 1 February with 1,455 passengers and 802 crew on board.
The cruise had been scheduled to run for two weeks – and with those 14 days running out, there were worries about fuel and food supplies.
As well as Thailand, it was also turned away by Taiwan, Guam, the Philippines, and Japan.
“We’ve had so many near moments – we thought we were going home only to be turned away,” Ms Jones said.
The ship’s captain Vincent Smit said the ship would anchor outside Sihanoukville to allow authorities to conduct health checks on board.
Passengers will then be able to leave the ship and return to their home countries from the country’s capital Phnom Penh.
The US embassy in Cambodia said it had sent a team to assist its citizens with planning their journey.
Cambodia’s decision to welcome the MS Westerdam was praised by the chief of the World Health Organization (WHO).
It was “an example of the international solidarity we have consistently been calling for”, Director-General Tedros Ghebreyesus said.
There have been regular health checks for all passengers on board the Westerdam, and there have been no cases so far.
The ship in Japan, quarantined in the port of Yokohama, currently has more than 200 confirmed cases – making the Diamond Princess the largest coronavirus cluster outside China.
Not all passengers have been tested, and the number of cases may continue to rise. Another 44 were added to the tally on Thursday.
Japanese Health Minister Katsunobu Kato said elderly passengers who test negative for the virus would be allowed to leave on Friday, five days before the scheduled end of the quarantine.
About 80% of the ship’s passengers are aged 60 or over. Japanese media reports that 215 passengers are in their 80s, and 11 are in their 90s.
Another cruise ship was quarantined for several days off Hong Kong, because a previous guest had been diagnosed with the virus.
All passengers have now been allowed off.