It’s not over. For a few anxious, or jubilant - depending on which tribe you belong to – minutes between 7.15pm and 7.30pm, it seemed as if the Brexit saga might just be on the verge of resolution, after three and a half agonisingly long years. The House of Commons voted to allow Boris Johnson’s withdrawal agreement bill to advance to the next stage, a prize that had eluded Theresa May not once, not twice, but three times.

What’s more, MPs gave it a green light more emphatically than even the most ardent Brexiters had dared hope. While May had been crushed by triple-figure majorities, Johnson won his meaningful vote by 329 to 299 votes, a majority of 30. Put another way, and as if to reflect this divided nation through what have become the defining numbers of the Brexit era, he won by 52% to 48%.

For a prime minister who lost his governing majority within days of reaching Downing Street, and who lost six of his first seven votes in the House, this tasted like a rare and substantial victory. All he had to do next was win approval for his accelerated timetable, one that would cram line-by-line scrutiny of a 110-page bill giving legal effect to a 585-page withdrawal agreement, into 48 hours. For a few fleeting, clammy-palmed moments, it seemed as if he might pull it off. The naysayers of the DUP remained in their seats. Did that mean they were they going to abstain, thereby handing Johnson a second win?

It did not. They rose and walked through the no lobby, confirmation of their fury at a Tory prime minister who has done what he himself had said no Tory prime minister should ever do – agreeing to separate Northern Ireland from the rest of the UK to such an extent that Northern Irish businesses will need to fill in customs forms to ship goods to their friends and cousins in England, Scotland and Wales. The result was defeat by 322 to 308 – all but 52-to-48 in reverse. Denied his fast track to approval, Johnson announced he was not pulling the bill – as he had threatened – but “pausing” it, as he waited to hear how long an extension the EU would grant to the Hamlet nation across the channel, forever paralysed by indecision.

Posing as a man whose determination would not be deflected, Johnson said that we would “definitely be leaving the EU with this deal”. But note what he did not say: he dropped his customary reference to “by October the 31st”. For all the talk of corpses in ditches, and “do or die”, it was that promise that expired this evening.

What does it mean? First, don’t fall for the hype that says that parliament approved Johnson’s deal. It did not. MPs simply voted for it to receive a second reading, some of them motivated by the desire not to endorse it but to amend it. As Labour’s Gloria De Piero confessed, she voted yes, “not because I support the deal but because I don’t”. That 30-vote majority will include MPs who wanted to propose UK membership of a customs union, others keen on conditioning the deal on public support in a confirmatory referendum. Screen out the Tory spin: those MPs should not be counted as backers of the deal.

As for the defeat on the timetable, that is the result of what now looks like a tactical misjudgment by the government. By making such a fetish of the 31 October deadline – arbitrarily imposed by Emmanuel Macron when Theresa May missed the last one – Johnson painted himself into a corner whereby even a delay of a few days looked like a humiliation. Both Jeremy Corbyn and Ken Clarke signalled that it might not need much more than a few extra days to undertake the necessary scrutiny – though Nikki da Costa, until recently Johnson’s head of legislative affairs, had said it required at least four weeks – which is hardly that long to wait. Instead of taking that pragmatic course, Johnson felt compelled to call the whole thing to a halt.

Why? The obvious explanation is that this gives the PM a pretext to grab what he really wants: an early election framed as a battle to get Brexit done, with him as the people’s tribune pitted against those wicked remainer saboteurs.

But another explanation suggests itself, too. Any period of scrutiny is unpalatable to Johnson, because he fears that the threadbare coalition that might exist to back his deal will unravel once it engages in closer examination of the withdrawal agreement. Its erosion of workers’ rights; its creation of a new no-deal cliff edge in 2020; its entrenchment of a hard Brexit in law – all those dangers would only become more visible under the spotlight of protracted (or even normal) Commons scrutiny. Bits of his coalition – especially among those Labour MPs who backed him on Tuesday – would begin to flake off.

The truth is, Johnson will never have a bigger vote for his deal in this House of Commons than the one he assembled tonight. It will only get smaller. No wonder he had to pause. His next option is to call an election – and gamble that the next parliament will be more forgiving than the last. Either way, we are not free of the Brexit saga yet, not by a long way.

• Jonathan Freedland is a Guardian columnist