West Australian Premier Mark McGowan said there were 1700 passengers on board the Magnifica, with no Australian citizens.
The ship is steaming for Fremantle and due to dock Monday night or Tuesday to refuel before sailing on to Dubai.
It is currently around 20 nautical miles off the south-west coast of the state.
As of Monday, there were only a handful of patients requiring hospitalisation in Western Australia.
But a large and sudden influx of new cases requiring medical assistance, hospitalisation and intensive care could overwhelm the state’s health system.
Under international law and custom, a port must grant refuge to a ship in distress.
McGowan said he has contacted Prime Minister Scott Morrison to say he will not allow passengers or crew to wander the streets as protecting West Australians is paramount.
The government is now developing options to deal with people seriously ill on the ship and options to quarantine passengers.
“The issue is really anyone who is critically ill and we’re going to work with medical authorities to work out what we can do to assist those people,” McGowan said.
“We need to make sure we provide whatever medical assistance we can to people who are critically ill and we’ll work with the Commonwealth as to where the ship goes and what we do with it.”
The Premier added that the state may seek defence force assistance with the crisis, or treat critical patients in hospitals, or provide medical assistance on board.
“Whatever option it is, it needs to protect West Australians,” he said.
McGowan said all passengers were from overseas, including people from Germany, France and Italy.
He said more than 250 of 1700-plus passengers had reported upper respiratory illnesses.
“I will not allow what happened in Sydney to happen here,” McGowan said, referring to 48 confirmed cases among passengers on the Ruby Princess cruise ship, which docked in Sydney on Thursday, and five cases from the Ovation of the Seas ship, which docked a day earlier.
West Australian Health Minister Roger Cook confirmed 20 new coronavirus cases, all in the Perth area, including six from the Ruby Princess, which returned to Western Australia via Sydney.
One of the cases is from the Ovation of the Seas.
Western Australia has reported 140 coronavirus cases to date.
Twelve of the infected are in hospital, two of those in a critical condition.
Speaking to reporters on Monday, McGowan also announced that while West Australian schools remain open, parents would have the choice to keep their children home from school.
Entry to Western Australia will be restricted via road, rail, air and sea from 1:30pm local time on Tuesday, but there will be exemptions for workers performing critical duties.