The front of the slow-moving train hit a bumping block as it pulled into Atlantic Terminal in Brooklyn, left the tracks and smashed into a small structure, apparently a work area.
A rail pierced the floor of a train car, authorities said.
About 100 people were treated for minor injuries after the 8:30 AM crash. Many had been standing as they prepared to get off the train at the last stop.
"The entire structure started shaking," said Steben Medina, who was having coffee at the terminal when he heard the crash and screams. "I thought a bomb had gone off or something."
More From This Section
The most serious injury, though, appeared to be a broken leg, Democratic Mayor Bill de Blasio said.
Democratic Gov Andrew Cuomo said: "Luckily ... All things considered, this was a relatively minor accident."
The terminal is beneath a shopping mall in downtown Brooklyn, next to the Barclays Center, home to Brooklyn Nets basketball, New York Islanders hockey and major concerts.
The train in yesterday's wreck originated in the Far Rockaway section of Queens and was carrying around 450 people, officials said.
"People just went flying," passenger Donette Smith told The New York Times. "It was very scary."
The National Transportation Safety Board dispatched investigators. NTSB investigator Jim Southworth said it will take three to seven days to investigate the accident scene before they determine what caused it.
Metropolitan Transportation Authority Chairman Thomas Prendergast said there is "a signal system that controls it coming in at limited speeds. But when you're getting to the end it's the locomotive engineer's responsibility. And the train's brakes have to work. All those things have to be looked at in the investigation.