The two men got into an argument over a seat when one of them whipped out a knife and killed the other passenger as the train rumbled between stations.
The victim, identified as 36-year-old Dwight Johnson of Brooklyn, was repeatedly stabbed in the neck and face, investigators said.
A conductor heard the commotion and alerted police.
Officers were waiting on the platform when the train pulled into the station at West 53rd Street and 7th Avenue.
They say the killer was standing over his bloodied victim when the doors opened.
The suspect was identified as Gerardo Sanchez, 37, of the Bronx. He was charged with murder.