Riot police were called to stop a 'Help for Heroes' walk over fears it would turn violent in the wake of the brutal Woolwich murder.
Officers carrying shields and batons brought a halt to the parade in Bristol after they received reports of planned trouble and the EDL becoming involved.
Marchers said they were raising money for the armed forces charity but internet rumours claimed the facist group the English Defence League was also taking part.
Police stopped the walk outside a pub - sparking a five hour stand-off which saw up to 40 people barricade themselves inside.
Riot police, vans and horses attended on Saturday evening as an operation was launched to contain the group.
Officers say there were 19 arrests and 12 people were later charged with public order offences and five remanded in custody.
The incident came in the wake of the death of Gunner Lee Rigby in Woolwich and a series of minor incidents across the country.
Deputy Chief Constable Rob Beckley said: "Peaceful protest is acceptable but we will not tolerate criminal or anti-social behaviour towards any members of our community.
"We had to take some positive action to put a stop to behaviour that was criminally offensive to others."
But those involved during the march on Saturday evening blamed officers from Avon and Somerset Police for over-reacting.
The alarm was raised after messages about the march were posted on the internet and word spread about the potential for trouble.
Police described some of those taking part as drunk and violent and added they were forced to act to protect the "wider community" of Bristol.
No one was seriously injured during the stand-off and no substantial damage was caused to the pub.Suggest a correction