Two police officers have been stabbed in Ealing, west London, while carrying out checks on bus tickets.
A Pc is in a serious but stable condition after being slashed in the neck. A PCSO was treated in hospital for minor cuts on his arms.
Police said they were stabbed in the Ealing Broadway area at about 1505 GMT.
It is thought they were attacked after it emerged one of the passengers was wanted for recall to prison. A 30-year-old man has been arrested.
Speaking at the scene, Ch Supt Andy Rowell said: "Whilst this is in no doubt a shocking incident it is extremely rare for police officers to receive injuries of this nature whilst on duty.
"I would like to commend the officers for their actions and their bravery and also several members of the public who came to their aid during this incident."
He said the 23-year-old police officer, initially thought to be in a life-threatening condition, was stable and undergoing surgery after suffering multiple stab wounds.
The 27-year-old PCSO has been allowed home after receiving treatment in hospital.
Mr Rowell said a knife had also been found at the scene.
BBC journalist Rachel Bulkeley, who witnessed the incident, said a large group of PCSOs and police were checking whether people had tickets at a bus stop.
She said several officers then jumped on a man and a police officer was left bleeding very heavily from his face and head.
It is understood the suspect was questioned during the stop and checks showed he was wanted for recall to jail.
A man driving past the scene said: "I could see two policemen sprinting to the back of a police car to retrieve a green first aid kit.
"They rushed back to assist a policeman who had blood on him.
"I then noticed another policeman who was walking slowly and then collapsed on the pavement. His arm fell to his side."
The eyewitness continued: "As I drove away I also noticed a number of policemen pinning a man to the ground. He was shouting.
"What disturbed me most of all was the amount of blood on the pavement, it was clear that someone was very seriously injured."
Inam Mir, assistant manager of the Sony Centre on New Broadway, said: "We saw police officers who went to go and help running past with blood on their hands."
A Metropolitan Police spokesman said the incident began when the officers stopped a member of the public. A knife was then drawn on the police and they were attacked.
Mayor of London Boris Johnson said on Twitter: "Shocked by the stabbing of a police officer and a PCSO in Ealing.
"No place for this on the streets of London."
Councillor Julian Bell, leader of Ealing Council, described it as a "truly shocking incident".
Council staff are said to be already reviewing CCTV footage from the area.
A BBC journalist who witnessed the aftermath, Ian Shoesmith, said: "The scene is sealed off behind a thin strip of blue and white as groups of policemen stand near to where the attack took place outside Specsavers and Jessops.
"On the wet pavement there is a clump of clothes, a police officer's hat and what looks like blood soaked towels.
"Nearby a police information board reads, 'Happy Christmas from Ealing Police'."
London Ambulance have declined to comment.
Police vehicles and ambulances are blocking Ealing Broadway, which has been surrounded with police tape.
A police forensic tent now covers the scene of the attack.
New Broadway has been closed in both directions, leading to queues in the surrounding area.
Several bus routes have been diverted but Ealing Broadway station, which serves the Central and District Tube lines and London Overground services, remains open.
Peter Smyth, chairman of the Met Police Federation, said the attack showed the danger police officers face daily.
He said: "It is sometimes the most minor things that turn out to be the most serious.
"Our thoughts are with them and their families and friends."