A police officer was punched in the face and four people were arrested in Canary Wharf in east London during a protest against hotels being used to house asylum seekers.
The Metropolitan Police said the arrests during the protest on Sunday were for common assault, possession of drugs and assault on police and public order offences.
The force said they had been “facilitating a peaceful anti-asylum protest on the Isle of Dogs” but said some masked protesters went into the Canary Wharf Shopping Centre at about 16:30 BST and “became aggressive towards police”.
The officer who was punched did not suffer “significant injury”, the Met said.
A force spokesperson said 50 to 100 people were involved in the protest march from Manchester Road along Westferry Road E14.
They added: “We have a Section 60 AA in place for the Isle of Dogs south of the A1261 to prevent people concealing their identity with masks – failure to comply may lead to arrest.
“A Section 35 dispersal order is also in place in the same area directing protesters to leave.”
Cdr Adam Slonecki, in charge of policing London this weekend, said: “We had plenty of officers on the ground who moved in swiftly to deal with the criminality that occurred inside and outside the shopping centre. We will not tolerate this kind of behaviour.
“Those who arrive at protests masked and intent on causing trouble will continue to be dealt with robustly at future protests.”
The unrest came as a number of anti-asylum protests and counter-protests took place across England on Sunday, including in Epping and Norwich.
It follows the Court of Appeal’s decision on Friday to overturn a temporary injunction which would have prevented asylum seekers from being housed at The Bell Hotel in Epping.