Thousands of protesters gathered Tuesday outside a campaign-style rally here by President Trump, engaging his supporters in shouting matches over whether Trump harbors racist views.
The demonstrations remained peaceful until the end of the rally, when some protesters tried to break through barricades near an entrance to the convention center where Trump was finishing his speech. Police, who said some protesters had thrown rocks and bottles at them, used tear gas to disperse the crowds.
Hanging over the city all day was the shadow of Charlottesville, Va., and Trump's recent assessment that "both sides" were to blame for the violence at a recent rally there by white nationalists and his comments that "some very fine people" were marching alongside neo-Nazis.
In an effort to prevent the Phoenix demonstrations from turning violent, authorities called in extra officers and put the National Guard on the ready.
Barricades were erected to separate Trump supporters and opponents outside the Phoenix Convention Center, where afternoon temperatures climbed past 100 degrees and the growing crowd sought shelter under mesquite trees lining the sidewalks.
"Build that wall! Build that wall!" Trump supporters shouted as the barricades went up.
"This is a country for everyone!" yelled a counter-protester.
For Ubaldo Cruz, the arrival of Trump in Phoenix was an opportunity.
"I don't want to regret not speaking up," Cruz, who does accounting work, said as the sun slipped behind downtown office buildings, moments before Trump strolled onto the stage at the convention center. "It's one thing to complain with friends.... I wanted to show up and speak up."
The anti-Trump protests in Phoenix consisted of several marches downtown that converged at the convention center.
Nearly 4,000 people indicated on Facebook that they would attend an anti-Trump rally at the Herberger Theater Center, less than a block from the convention center. In a separate post, about 3,000 people said they planned to attend a "White Supremacy Will Not Be Pardoned" event downtown organized by the Puente Human Rights Movement, a local immigrant rights group. No official crowd totals were released by law enforcement officials.
Among those to arrive about four hours before the rally was Wolf Schneiter, 62, who held an "Alt-right delete" sign to protest the far-right movement that has backed Trump.
"I used to protest in the '70s and '80s, but I took a little time off," he said. "Now it's time to get back in the game."
Schneiter, who has fibromyalgia and receives federal disability payments, said he was dismayed by Trump's comments about "both sides" being to blame for the violence in Charlottesville.
"What was that about? … I'm beyond words that we've come to this," he said. "You can't even condemn bigots? Unreal."
Kim Aimes, 64, marched alongside members of the Puente Human Rights Movement.
Aimes, a social worker from Prescott, about 100 miles north of here, is a member of Indivisible Group, a national network resisting the Trump administration.
"He wants to come west, so, well, we'll bring it," Aimes said. "We'll bring the fight to him."
Aimes held a sign that read, "Hate Never Made a Great Nation."
"I just think this country is not moving ahead …," she said. "We're talking about Nazis and the KKK. That's not normal."
Not far from where Aimes stood, three members of the Southern Arizona Militia wore sunglasses and held AR-15 rifles.
"Y'all Nazis?"an anti-Trump protester asked the men.
They did not move.
"Y'all Nazis?" he asked again.
"Just here to keep the peace," one of the men finally replied.
Ross Hubbard of Phoenix held his navy blue "Make America great again" hat as he fanned his face with a leaflet while waiting in line for the rally.
"This is America right here … a great day — what a time to be alive," Hubbard, 45, said. "This will be the greatest show on Earth tonight."
Sharon Miller, 62, traveled from her home a short drive east in Mesa, Ariz., to cheer on Trump.
"I'm so tired of everyone acting like they're doing something so brave by standing up to our president.… They're not," she said.
In addition to division over Trump's response to violence in Charlottesville, controversy has also erupted over Trump's hint that he was considering offering a pardon to former Maricopa County, Ariz., Sheriff Joe Arpaio, recently convicted on federal contempt charges.
The former sheriff's aggressive immigration enforcement tactics have made him a lightning rod for both sides of the immigration debate. Arpaio, who did not receive a pardon Tuesday, was not at the rally.
Even so, protesters carried a variety of signs mocking the former sheriff, some in which he was handcuffed and wore prison strips.
Once Trump took the stage, many of the protesters began to head for their cars in temperatures still hovering near 100 degrees. Other stayed until the end — and the clash with police that filled the air with tear gas. "Some people in the crowd began fighting and throwing rocks and bottles at police," said Phoenix police spokesman Sgt. Jonathan Howard.
"This is crazy, so crazy," said Mira Ramirez, a 20-year-old Phoenix resident who was there to protest the president. "Everything was great until the end."
Times staff writer Lee reported from Phoenix and Kaleem from Los Angeles.
9:23 p.m.: This article was updated to include the use of tear gas by police to disperse the crowd as well as interviews with protesters.
4:15 p.m.: This article was updated with interviews with protesters who arrived ahead of Trump's really.