CHARLOTTESVILLE, Va. — At least three people were killed and 35 injured after a violence-filled Saturday in Charlottesville, Va., where white nationalists had gathered for one of their largest rallies in at least a decade, only to see their event end in chaos and national controversy.

Bloody street brawls broke out between dozens of anti-racism activists and far-right attendees, many of whom carried shields, weapons and Nazi and Confederate flags. One woman was killed when a driver plowed a sports car into a crowd of protesters; he was detained and is under investigation for criminal homicide. Two more people died when a Virginia State Police helicopter crashed near the city.

By the end of the day, top political officials around the nation, both Republicans and Democrats, were nearly unanimous in denouncing racism and the violence that stemmed from the rally, which was called off before it could even begin.

But in a television statement that drew criticism, President Donald Trump, while denouncing "hatred" and "bigotry," blamed the violence "on many sides, on many sides" _ once again, as he has in the past, avoiding direct criticism of the nation's burgeoning white nationalist movement, whose leaders have openly and repeatedly embraced Trump's presidency.

Democratic Virginia Gov. Terry McAuliffe was far blunter.

"I have a message to all the white supremacists and the Nazis who came into Charlottesville today," McAuliffe said in a Saturday evening news conference. "Go home. You are not wanted in this great commonwealth. Shame on you."

McAuliffe added, "You came here today to hurt people, and you did hurt people."

Saturday's violence was in large part the culmination of political forces that have been building on the left and the right for years, as anti-racism activists and white-power advocates have battled each other — on the internet and increasingly in the streets — over the meaning of the nation's traumatic racial history and its course for the future.

The original reason for Saturday's "Unite the Right" rally was a battle over Charlotteville's ordered removal of a statue of Robert E. Lee, one of many Confederate symbols loathed by anti-racism advocates but embraced by white nationalists, who believe in a separate nation for white people.

As the date drew nearer in recent weeks, the event became a kind of Woodstock for the far-right. White nationalists and neo-Nazis made plans to travel from around the nation to attend and see movement luminaries such as Richard Spencer, who were proud supporters of the president's candidacy in 2016 in large part because of his immigration agenda.

The night before the main demonstration, scores of white nationalists drew condemnation as they marched through the empty University of Virginia campus bearing tiki torches and chanting, "Blood and soil!" — an old Nazi slogan — "You will not replace us!" and "White lives matter!"

They outnumbered, surrounded and scuffled with the anti-racist demonstrators who had come to protest them.

Saturday was a different story. Before the "Unite the Right" rally could even begin, neo-Nazis, white nationalists and other far-right figures began brawling with large numbers of anti-racism protesters in the streets.

White nationalists in helmets, who were holding plastic shields, and anti-racism protesters, carrying red banners, could be seen skirmishing with each other on a city street, with someone spraying what appeared to be a crowd-control substance at the counter-protesters. Virginia state police said pepper spray was being released by crowd members.

The violence led officials to declare a state of emergency and shut down the event. Angered, far-right leaders fled the area. Some anti-racism activists burned Confederate flags that they captured from their adversaries.

"Up until now, I've never had a feeling that my own government is cracking down on me," a shirtless and damp-looking Spencer said in a livestream video after he escaped the scene, saying that anti-fascists had attacked him with pepper spray and that he was kicked by police officers holding shields.

In a tweet to his allies, Spencer added: "My recommendation: Disperse. Get out of Charlottesville city limits."

Protesters were jubilant, waving flags calling for solidarity and chanting anti-racist slogans such as "Black lives matter!" One man dressed in a clown suit with rainbow-colored suspenders held aloft a poster that read, simply, "SHAME."

Soon after, the driver of a gray sports car with Ohio plates drove toward a crowd of protesters and then accelerated suddenly, plowing into at least a dozen people, sending bodies, shoes and personal belongings flying through the air.

Victims cried out in pain while onlookers howled in shock and ran from the scene, yelling for medical help.

"Oh my God," someone screamed. "He mowed down everybody."

Within seconds, the sports car, its front bumper dragging on the ground, reversed course and sped backwards up the street, disappearing around a corner at the next block as a bystander yelled, "Get off the street! Get off the street!"

A 32-year-old woman who was in the crosswalk was killed, police said. She has not been identified while officials work to notify her family. The Democratic Socialists of America said two of their members were among the wounded.

When police showed up after several minutes, they were met with angry cries from some in the crowd who felt the response was too slow.

"Where were you?" one of the protesters demanded. "Where the (expletive) were you?"

The driver, identified by officials as James Alex Fields Jr., 20, was detained shortly later and has been charged with second-degree murder, three counts of malicious wounding and one count of failing to stop at an accident that resulted in a death..

"We are currently treating this as a criminal homicide investigation," said Charlottesville Police Chief Al Thomas.

Shortly later, two state troopers died when a State Police helicopter crashed in the woods outside Charlottesville. The wreckage was fully engulfed in flames, according to images from local media.

The victims were identified as the pilot, Lt. H. Jay Cullen, 48, of Midlothian, Va.; and Berke M.M. Bates, 40, of Quinton, Va. Officials do not suspect foul play.

In televised remarks, Trump remarked on the "terrible events" and condemned "in the strongest possible terms, this egregious display of hatred, bigotry and violence, on many sides, on many sides."

He added: "No matter our color, creed, religion or political party, we are all Americans first. We love our country, we love our God, we love our flag, we're proud of our country, we're proud of who we are, so we're going to get this situation straightened out in Charlottesville, and we want to study it, and we want to see what we're doing wrong as a country."

As more reports about the day's casualties came in, Trump tweeted: "Condolences to the family of the young woman killed today, and best regards to all of those injured, in Charlottesville, Virginia. So sad!"

Leaders from all over the country chimed in with denunciations.

"The hate and bigotry witnessed in #Charlottesville does not reflect American values," tweeted Senate Majority Leader Mitch McConnell, R-Ky. "I wholeheartedly oppose their actions."

"The white nationalist demonstration in #Charlottesville is a reprehensible display of racism and hatred that has no place in our society," tweeted U.S. Sen. Bernie Sanders, I-Vt.

But Trump's remarks — especially his blame for the violence on "many sides" — drew particular criticism.

"The violence, chaos, and apparent loss of life in Charlottesville is not the fault of 'many sides,' " tweeted Virginia Attorney General Mark Herring. "It is racists and white supremacists."

"Mr. President — we must call evil by its name," tweeted U.S. Sen. Cory Gardner, R-Colo. "These were white supremacists and this was domestic terrorism."

As events unfolded in the morning, rally organizer Jason Kessler blamed the chaos on the city's recent attempts to restrict the rally's location, disrupting organizers' plans.

"There are so many people that have come in, that have been Maced in the eyes, like half of our speakers have been Maced," Kessler said in a livestream video. "There's not a ... single Charlottesville police officer out there protecting our guys."

The event also had drawn a range of counter-protesters, including anti-fascists and interfaith clergy.

Many residents stayed home instead of going out, and area businesses, disturbed by the rally, shut down for the day instead. Some reportedly put a sign on their windows: "If equality & diversity aren't for you, then neither are we.”