Mr Johnson had hoped – with just 10 days to go until the UK is due to leave the EU – that a majority of the House of Commons would approve in principle the new agreement he struck with the EU last week.
However, House Commons Speaker John Bercow rejected the prime minister’s attempt to stage a straight yes/no vote – a so-called “meaningful vote” – on the deal, as he cited a centuries-old convention.
Mr Johnson convened a historic sitting of parliament on Saturday – its first since 1982 – to have a meaningful vote on his deal.
However, it was amended by MPs who instead withheld their approval for the deal until all necessary Brexit legislation is passed, as they backed an “insurance policy” to prevent an accidental no-deal departure on 31 October.
Saturday’s sitting meant the issue of a meaningful vote had already been “decided”, Mr Bercow said, adding debating it again on Monday would be “repetitive and disorderly” and that he would not let parliament be “continually bombarded”.
He declared it was “a necessary rule to ensure the sensible use of the house’s time and proper respect for the decisions that it takes”.
It prompted fury from some Brexiteer MPs, including Sir Bernard Jenkin, who told Mr Bercow: “It is remarkable how often you please one lot and not the other lot.”
The Speaker, who supported Remain at the 2016 EU referendum, dismissed suggestions he was compromising his impartiality with the ruling.
“The judgement I’ve made is an honourable and fair one,” he said.
Mr Johnson’s spokesman said the prime minister was disappointed at the decision and accused the Speaker of denying a chance for parliament to deliver on the will of the people.