The Metro-North train derailed at Spuyten Duyvil station in the Bronx, the fire department said.
Firefighters and emergency rescuers swarmed the scene, where at least two train cars had flipped on their sides. One car was just feet away from the Harlem River.
At least two of the dead appeared to have been ejected from the train, a source familiar with the investigation and rescue told CNN.
Police divers were in the water hours after the crash searching for survivors, a CNN affiliate reported.
The train came off the tracks just as it was coming around a sharp curve shortly after 7 a.m., fire officials said.
Of eight train cars, at least six were off the tracks.
A law enforcement official on the scene and familiar with the investigation said the train operator told investigators he applied brakes to the train, but it didn’t slow down.
Passenger Frank Tatulli told an ABC affiliate he thought the train was traveling “a lot faster” than usual.
He escaped a derailed car on his own and suffered head and neck injuries, he said. Other passengers were still on the train, he said.
The derailment occurred near where a freight train derailed in July, WCBS reported. No one was injured in that accident.
Federal authorities are still investigating a collision that occurred on the same line in May, when two passenger trains crashed during rush hour in Connecticut.
Service was suspended Sunday on part of the Hudson Line, Metro-North said on Twitter.