Emergency services were called to the hospital about 10:45pm on Tuesday following reports of a concern for welfare, NSW Police said.
Officers from Eastern Beaches Police Area Command were told the 48-year-old patient had doused two men, aged 54 and 63, and a woman, aged 64, in accelerant. Police allege he then set fire to the 54-year-old man before hospital staff extinguished the flames.
The 54-year-old sustained minor burns and was kept for observation as a precaution. He remains in a stable condition, as do the 63-year-old man and 64-year-old woman, who were treated for minor injuries.
The 48-year-old man was arrested and charged with two counts of attempted murder, common assault, and two counts of attempting to cause grievous bodily harm to a person with intent. He is scheduled to face Bail Division Court on Thursday.
A South Eastern Sydney Local Health District spokesperson said staff "responded quickly to a safety incident involving patients" on Tuesday night and immediately notified NSW Police. The district is offering support and care to those impacted and said there was no ongoing risk to patients, staff or visitors.
Shadow Minister for Health Sarah Mitchell said she was "deeply disturbed" by the reports. "This is beyond unacceptable in NSW," she said. "Safety must be a non-negotiable in our public hospitals."