The secret of winning leaders’ debates was taught to David Cameron before the very first one, in the spring of 2010. They weren’t debates at all, he was told by two leading (and doubtless expensive) media operatives who’d helped get Barack Obama elected. “You don’t want to engage with your opponents’ arguments, you just want to put your own point across,” Cameron recalls in his recent memoir. “Just get your ‘zinger’ – a one-liner destined for the headlines on the news programmes after the show – ready beforehand and deploy it as soon as you can.”

That is the best explanation of Boris Johnson’s performance in last night’s debate. The Tory leader had but one message, one solitary stark sentence, for the public. He had a Brexit deal, and he was going to do it. The other side offered only “dither and delay”.

To make that point he would talk over presenter Julie Etchingham, slide all over audience questions and repeat himself into utter foolishness. The effect was reinforced by a brusque format that allowed only brief responses to questions, rather than actual arguments. For the millions watching the debates, even fervent supporters, he made for an unedifying and boorish spectacle on a studio set that looked as if Tron had been plonked in Salford. But he fed the TV news and the newspapers the clips they wanted and for that I have no doubt he will be rewarded.

Jeremy Corbyn doesn’t do zingers. He might love poetry but the man can’t even get his own clap lines to scan. His definition of leadership, he told the audience in one of his best moments, began with listening. The first half on Brexit went predictably badly, with Labour continuing to pay the price for three years of playing the biggest strategic decision now facing Britain as if it were merely about tactics. The party’s position is not as terrible as the mockers make out; what’s costing them dear is the – to coin a phrase – the dither and delay it has taken to adopt it. Corbyn trotting out his line on Brexit again and getting laughed at by a studio audience on national television must hurt.

A nervous-looking Johnson got his own share of jeering laughter, which is part of what’s reflected in those snap polls that show the debate as a score draw. Like the rest of the country, the audience can see a profligate liar when he’s tousling his hair in front of them. And as we saw in 2017, when Corbyn is allowed to talk straight to the public, without the relentless distortion of the media, they tend to like him.

For my money, the true winners of the debate were members of the audience – for making clear their contempt for political bullshit, for worrying about Johnson’s trustworthiness, for laughing at the wreck that is Prince Andrew’s reputation. Sure, there were some sticky moments around climate change, with what sounded like a heckle when Corbyn said that the poorest in the poorest countries would be worst affected. But all those on Twitter getting upset about those might benefit from watching a politician go door-knocking.

Last Wednesday, I did just that: visiting a seat that Labour badly need to win if they’re to have a shot at forming any kind of government. North East Derbyshire is a patchwork of ex-mining villages, the sort of place that by tradition is as red as a rose. In 2017, at the height of the “Corbyn surge”, it voted in a Tory MP for the first time since the 1930s. As I watched the Labour candidate Chris Peace talk to voters, the most common reaction I saw was weariness: oh, this again. A kind of numbness to both men, who they see as “weak” (Corbyn) or “a fool” (Johnson). And I understood Peace’s biggest fear, which is not that voters will actively switch from red to blue – but that they stay home in the middle of winter and let the Tories back in.

That is what Corbyn is up against. It’s not good enough for his supporters to point to their underdog status and claim a score draw is truly, actually, plausible. It isn’t. Getting people to be slightly less hostile to you isn’t the same as them being your friend. Voters need a reason to trudge out in the dark and cold to a polling booth. Among Labour’s biggest prompts surely is that the other guy is a serial liar who heads a cabinet of chancers and a party that has failed this country for a decade. Yet Corbyn could barely bring himself to murmur any of this.

He could have asked Johnson about Jennifer Arcuri, 2019’s great unexploded electoral device. Corbyn could have hammered the claim that “our inability to fund the NHS is because of our failure to get Brexit done”, which is a prizewinning pork pie. He could have asked if Johnson’s willingness to jettison austerity proved that the deaths of those who lost their benefits or their homes were in vain. Given a question about trust, he could have brought up the £350m bus, the lies about Turks queueing at the border, the fact that two of Johnson’s ex-bosses sacked him. But no. Nothing. No teeth were bared, nor blood spilled.

I dimly remember some guff about a kinder, gentler politics, but an election is a war. Right now, Corbyn is three weeks from what might be his last ever contest – or the one that enables him to take out Johnson, block his disastrous hard Brexit and finally reverse some of the destruction wreaked by the Tories. He and his team have a fighting chance. But to take it, they need actually to fight.

• Aditya Chakrabortty is a Guardian columnist