A virus-hit cruise ship with dozens of ill passengers and crew has docked in Florida, after being barred from several South American countries.

The liner was finally cleared for docking after long negotiations between Holland America Line, local and state officials, and the US Coast Guard, to ensure the safe disembarkation of the healthy - and the sick.

"The Coast Guard, Homeland Security, health officials, and Broward County have reached a decision to allow the #Zaandam and #Rotterdam cruise ships to dock" in Port Everglades in Fort Lauderdale, the city's mayor Dean Trantalis said on Twitter.

Rick De Pinho, a Zaandam passenger who was transferred to the Rotterdam at sea, sent AFP a recording of a message from the ship's captain confirming port clearance had been granted.

The Zaandam, operated by Holland America Line, and its sister ship the Rotterdam are expected to dock in Fort Lauderdale, after days of protracted negotiations over their fate.

There are around ten Irish citizens on board the Zaandam cruise ship. 

Another cruise ship hit by coronavirus, the Coral Princess, is heading to Fort Lauderdale after 12 passengers and crew on board tested positive, Princess Cruise Lines confirmed.

The ship has a total of 1,898 people onboard - 1,020 guests and 878 crew members, the company said in a statement. 

Seven guests and five crew tested positive for Covid-19, the company statement said.

"Coral Princess is on her way to Fort Lauderdale with an estimated arrival date of April 4," it said.

Florida's Republican governor, Ron DeSantis, initially said he did not want the ships to dock, for fear the ill passengers would tax the state's already strained health care system.

With more than 7,700 coronavirus cases and more than 100 deaths, the Sunshine State - home to many retirees - has the fifth-most cases in the United States.

However last night Mr DeSantis told Fox News that he had not realized there were US citizens involved.

Latest coronavirus stories

"We actually have Floridians" aboard the Zaandam, he said.

US President Donald Trump also said the ships needed to be evacuated, saying: "We have to help the people. They're in big trouble."

A total of 1,243 passengers and 1,247 crew members were stranded at sea on the Zaandam and the Rotterdam, which came to its sister ship's aid last week, loaded with supplies.