The gunman, a former doctor at the hospital, killed himself in the attack.
The shooting began about 2.55pm on Friday New York time at the 1000-bed Bronx-Lebanon Hospital.
Mayor Bill de Blasio said the shooting was not an act of terrorism, but rather workplace-related.
He said the attack had been a "horrific situation in the middle of a place that people associate with care and comfort".
Several of the injured are "fighting for their lives," he added.