Today’s debate between Donald Trump and Kamala Harris was the most anticipated event on the political calendar leading up to election day in November.

Harris went into the debate determined to look like a calm leader focused on the people’s interests while baiting Trump into unhinged tirades that would make him look obsessed with his own grievances and not the American people.

Trump’s team wanted him to demonstrate that while Harris may portray herself as a tough-on-crime public prosecutor, she is really a woke California liberal out of touch with small-town America and responsible for everything the public does not like about Joe Biden.

On the initial exchange over the economy Harris defined herself as sympathetic with small business and families and Trump as beholden to fat cat billionaires who will get big tax cuts if he wins.

Trump hit back with the economically nonsensical but superficially appealing idea that high tariffs on other countries would help American workers instead of being inflationary…and he made typically hyped claims about immigration. But he delivered the message with a calmness and determination that would reassure his team.

Harris was smart to spotlight the controversial Project 2025 plan that Trump has tried to repudiate, but she made a mistake citing a Wharton School of Business critique of Trump’s economic policies to undecided swing state voters who distrust elite institutions. Overall Trump went into the debate leading on the economy and Harris may not have scored enough points to seize that issue back for the Democrats.

Harris did take the high ground on China by quoting Trump’s COVID-era tweet declaring “thanks Xi Jinping!” That got under his skin, which was central to Harris’s strategy. She then benefited from a question about abortion, where Trump has tried to have it both ways (pleasing evangelicals with hints of a national ban on abortion and then pivoting radically to reverse collapsing support among women). He looked defensive and a bit desperate and Harris then poleaxed him on the issue – which will further energise women voters who could be key to her success. The exchange also gave her a chance to claim “freedom” for the Democrats – a powerful patriotic theme in American politics usually owned by Republicans but now wielded by Harris to attack the intrusive social conservatism espoused by Trump’s camp.

Trump was back on strong political ground when the theme shifted to immigration. Harris pointed out the administration had reached a tough bipartisan immigration bill that Trump then killed so he could use the issue in the election. But her smartest play of the whole debate was when she triggered Trump by making the unrelated observation that people leave his rallies early out of boredom. Trump fell for it, abandoning his prepared message on immigration and launching into a tirade about third world wars and illegal immigrants eating people’s pet cats and dogs.

Harris went in search of moderate Republican votes by citing the multiple veterans of Trump’s administration who are now opposing him. That was probably also intended to get under his skin, but in this case he stayed on message and countered by saying he “fired” all those guys just like he did on his popular reality TV show The Apprentice. For undecided voters who know more about Trump’s TV show than they do about former Secretaries of Defence, it was an effective parry.

Much of the debate was a struggle over who was more muscular, an important subplot because Trump wants his lead among men to be as big as Harris’s lead among women. Trump scored some points on Iran policy and general chaos in the Middle East, where his message may have been garbled but reinforced the public’s (and especially male voters’) sentiment that the Biden administration is weak in the Middle East. Trump tried again by saying Biden was too weak to handle Putin, but Harris rebutted that one by arguing Trump would end the war in Ukraine “by just giving up” and getting “eaten for lunch” by Putin.

And so it went. On balance Harris looked more presidential to voters who say they needed to know more about her while Trump looked like Trump with everything the public already loves or hates about him.

Harris did a far better job spotlighting Trump’s extremism than he did painting her as a California liberal, with Harris repeatedly quoting his own words back at him to drive home the point. She put in a far better performance than she did in her 2020 debates with Biden and then Mike Pence.

One early indicator of who won was how quickly the Harris camp “spun” the debate to the press and how long it took for the Trump camp to decide what to say: not a sign of confidence. The polls will show the result in a few days, and the endorsement of Harris by singer Taylor Swift will have done her no harm.

I would guess Harris gets a bump. Whether it is enough to move the polls out of the margin of error in a closely divided country is harder to say.