A group of two or three masked knifemen attacked a pedestrian just before 10am in Bishopsgate on Thursday, according to witnesses.
Members of the public, who were described as “heroes” by one witness, then intervened to try to stop the attackers.
City of London Police said the attack was not being treated as terror-related, but was being investigated as a suspected robbery, with the incident involving a phone being snatched.
London Ambulance Service (LAS) attended the scene and said crews treated four people, three of whom were taken to hospital and one of whom was discharged.
A witness said he saw two or three teenagers on bicycles watching a middle-aged man before they grabbed him during a phone snatch robbery in the City of London.
He described the knifeman as wearing a mask.
The worker, who asked not to be named, said: “I saw two or three teenagers on bicycles and they were following this middle-aged man, around 40 to 50, who was smartly dressed.
“The next thing I saw was this teenager grabbing this guy, this middle-aged man. Things escalated so quickly.
“Pedestrians got involved and they were trying to help the middle-aged man. I heard lots of screams and shouts.
“The next minute, a man on a white moped saw what happened and jumped off, and got himself involved.
“There was a fight with these teenagers. Out of nowhere, the guy on the moped got stabbed. The middle-aged man was already on the floor at this point after he got stabbed and another pedestrian got hurt too, his head was hurt.
“The teenagers then just took off.”
He added “the knifeman was wearing a mask”, describing it as a fleece mask which people wear to keep warm.
Charlotte Wright, 26, an administrator from Colchester who works near the scene, said she felt scared after hearing about the stabbing in Bishopsgate.
“I feel a bit apprehensive and scared coming out to get my lunch, but also pretty secure and safe,” she said.
“I know London is a very busy city and I know that if anything were to happen, unfortunately like the guys that stepped in during this incident, there are heroes willing to do that.”
Sayeed Dukanwala, owner of BK News, a newsagent’s next to the scene, witnessed the incident as it unfolded.
He said: “I was here in my shop working when I saw some guys running past my shop and shouting ‘Oi oi oi.’
“After a few minutes I saw a fight break out over there [at the scene] and people running away.
“Then some people came in and told me there was a stabbing. They said there was a man and a lady on the floor and there was blood.”
He added: “I felt scared and unsafe when I heard what happened.”
A 50m-long cordon was in place outside 22 Bishopsgate and guarded by officers from City of London Police.
Inside the police tape, medical kits could be seen spread out on the ground in small piles while blood could also be seen on the pavement.