Police were called to Westmead Hospital about 11.30pm on Friday following reports a man had assaulted several staff members.
The 39-year-old allegedly slashed two male security guards aged 24 and 25 causing laceration injuries, a police spokesman said.
"They were cut rather than stabbed and there wasn't any penetration," he said.
A 29-year-old male nurse was injured in the attack, while a third security guard suffered a dislocated shoulder.
The four are "all fine" with minor injuries that were treated on-site and did not require hospitalisation, the spokesman said.
The man was arrested and remains under guard at the hospital.
He has not been charged and will be interviewed by police once he leaves the hospital.
Police will look at the man's mental health and drug use history to see whether they contributed to the alleged attack, as investigations continue.
The "senseless violence" on hospital staff is horrifying, Health Services Union NSW secretary Gerard Hayes said.
"For the workers on the receiving end, the trauma will continue long after the physical scars have healed," he said.
"For the last decade, we have had shootings, stabbings and flesh torn from the bodies of our members."
The union said it will continue advocating for greater security numbers and powers at hospitals, and better personal protective equipment.