Kamala Harris put Donald Trump on the defensive in a fiery televised debate yesterday, getting under her rival's skin as they battled for a breakthrough in an agonizingly close US presidential election.
The Democrat baited the "extreme" Republican into angry responses on issues ranging from abortion to democracy and foreign policy.
The 59-year-old US vice president managed to knock former president Trump off his game in their first and only scheduled showdown, which featured a series of bitter personal attacks on both sides.
Trump, 78, said afterwards that the ABC News-hosted clash in Philadelphia was his "best debate" but snap polls and commentators said Harris had won, with her campaign quickly challenging him to a second debate in October.
With less than two months until election day, Harris was under pressure to deliver in front of an audience of tens of millions after her rise to the top of the Democratic Party ticket in place of US President Joe Biden.
She started on the front foot, surprising Trump by approaching him to shake his hand before they took to their lecterns - and then kept the upper hand.
Trump repeatedly raised his voice as he hit back at the vice president on immigration and the economy, branding her a "Marxist" and blaming her for what he said were the failings of Biden's administration.
Harris responded by looking on in amusement before declaring that she represents a fresh start after the "mess" of the Trump presidency - and adding: "We're not going back."
One of their most intense exchanges was on abortion.
Trump insisted that while having pushed for the end of the federal right to abortion, he wanted individual states to make their own policy.
Harris said he was telling a "bunch of lies" and called his policies "insulting to the women of America."
Another jarring clash came as Trump doubled down on his unprecedented refusal to accept losing to Biden in the 2020 election, before trying to overturn the result. Harris responded by mocking his catchphrase as a reality TV star, saying that Trump had been "fired by 81 million people" and calling him a threat to democracy.
The former prosecutor pointed out that Trump is a convicted felon, called him "extreme" and said it is "a tragedy" that throughout his career he had used "race to divide the American people."
The rivals also clashed on foreign policy, with Harris telling Trump that Russian President Vladimir Putin would "eat you for lunch" when it came to the war in Ukraine and that world leaders were "laughing" at him.
Trump shot back, saying she "hated Israel."
But Harris, who spent five days intensively preparing for the debate, repeatedly managed to needle Trump into finger-jabbing insults and meandering invective. She elicited an angry response when she mocked the size of his trademark rallies, one of his favorite topics, saying that attendees were leaving early out of "exhaustion and boredom."
Trump repeatedly attacked Harris on migration, but she also managed to make him lose his cool on what should have been a winning topic.
He ended up talking at length about a debunked conspiracy theory that Haitian immigrants have been eating local people's pet cats and dogs in Ohio - before being corrected by the moderator.
A CNN snap poll after the debate said Harris performed better than Trump by 63 percent to 37 percent of registered voters.
AGENCE FRANCE-PRESSE
Editorial: Page 6
Kamala Harris and Donald Trump clashed on issues from abortion to democracy and foreign policy during their debate. AFP
Donald Trump and Kamala Harris leave their lecterns without shaking hands at the end of their acrimonious debate.
AP, REUTERS