Thousands of anti-racism demonstrators flooded the streets of Boston on Saturday, dwarfing a gathering of white nationalists in the city and triggering scuffles with police but avoiding the serious violence that marred a similar event a week earlier in Virginia.
A so-called "free speech" rally by far-right groups had been scheduled to run until 2 pm (1800 GMT), but a half-hour before that police escorted its participants, whose numbers appeared to be in the dozens, to safety past the throng of anti-racism protesters.
Aerial photos showed the latter group filling one of Boston's main streets for several blocks, in a huge outpouring of anti-racist sentiment in this strongly Democratic northeastern city.
While Boston saw no repeat of the violence that erupted last weekend in Charlottesville, Virginia, isolated scuffles between police and protesters prompted Trump to weigh in, with a tweet intoning against the "many anti-police agitators in Boston."
Boston Police Commissioner William Evans estimated that around 40,000 people turned out for the marches.
"We did have people who came here to cause problems, but overall, I thought the men and women of our department and all the other agencies who helped us performed really well," Evans said at a press conference.
The police chief said there were a total of 27 arrests, mostly for assault and battery against the police and disorderly conduct. He credited a police unit specially trained for crowd control for maintaining order, and keeping the two sets of protesters apart.
"I thought they did a good job of moving that crowd," Evans said. "Sometimes it doesn't look pretty, but that's what they're trained for."
Saturday's demonstration was held at a time of anguished national debate over racial relations, which was fanned when President Donald Trump defended some participants in last week's white nationalist and neo-Nazi rally in Virginia as "very fine people."
As protesters began departing central Boston without major incident, the president followed up on his first tweet with a more positive tone.
"I want to applaud the many protestors in Boston who are speaking out against bigotry and hate," he wrote on Twitter.
"Our country will soon come together as one!"
Thousands of counter-protesters had convened in two groups before the main rally, chanting "No Nazis, no KKK, no fascists in the USA!" One man held a sign that read, "Stop pretending your racism is patriotism," and a woman's sign said, "Muslims welcome, racists out."
"It's time to do something," said Katie Zipps, who traveled from Malden, north of Boston, for the counter-demonstrations, organized by an amalgam of mostly left-leaning groups.
"We are out here to add an extra body to add to the numbers of those who resist."
Some local restaurants promised to donate their proceeds from Saturday's business to left-leaning groups, and others refused to serve the white nationalists, with one posting a sign that said, "Hope you Nazis packed a lunch."
Authorities in Boston had protectively ordered a strict ban on weapons in the rally area, and ordered garbage trucks and concrete barriers placed around the venue to prevent vehicles from entering.
According to an AFP photographer at the scene, police used anti-riot gear and batons to prevent protesters from reaching the venue of the white nationalist rally -- leading some to accuse police of defending "Nazis."
Crowds booed or harassed "free speech" demonstrators as they walked to or from the venue, while Boston police tweeted that rocks had been thrown at its officers.
A young woman was killed last weekend when an avowed white supremacist rammed his car into a group of counter-protesters in Charlottesville -- and President Trump's muted response to the violence has plunged his embattled administration deeper into disarray.
Despite the skirmishes Saturday, Walsh -- clearly relieved that the protests concluded with no injuries or even substantial property damage reported in Boston -- had words of praise at day's end for the city's police, and even for the protesters.
"I want to thank all the people that came out today," the Democratic mayor said at the press conference.
"I want to thank all the people that came out to share that message of love, not hate. To fight back on racism. To fight back on anti-Semitism. To fight back on the white supremists that were coming to our city -- the Nazis coming to our city," he said, reports Ians.