The first attack happened in front of a Whole Foods near 6th Avenue and 42nd Street around 6:40 p.m.
Police say the suspect attacked a 22-year-old man and then went into the store, up to the second floor, where he attacked a 49-year-old woman.
Both of those victims were taken to Bellevue Hospital with minor injuries.
The suspect then left the store and made his way on a subway car at West 47th Street and 6th Avenue by Rockefeller Center, where he attacked a 55-year-old woman.
That victim was taken to Weill Cornell Medical Center where she's expected to survive.
The suspect was taken into custody. Charges against him are pending.
Police say all three attacks appeared to be random.
----------
* Get Eyewitness News Delivered
* More Manhattan news
* Send us a news tip
* Download the abc7NY app for breaking news alerts
* Follow us on YouTube