The last-minute offer sets the scene for a possible pre-Christmas poll which would be dominated by Brexit – and by the prime minister’s failure to take the UK out of the EU by his self-imposed Halloween deadline.
But Mr Johnson is far from certain of securing his preferred date of 12 December in a Commons vote on Tuesday, as opposition parties made clear they do not trust him to deliver on his promises.
Despite having drawn up similar proposals of their own for a 9 December election, Liberal Democrats and the Scottish National Party made it clear that they would have to scrutinise Mr Johnson’s one-line bill closely before declaring whether they could support it. Jo Swinson, the Lib Dem leader, said her party had already rejected the date favoured by the prime minister.
And Jeremy Corbyn said Labour would require “a clear, definitive decision that no deal is absolutely off the table and there is no danger of this prime minister not sticking to his word” before it could consider backing the plan.
The PM’s proposal to legislate to overrule fixed-term parliament rules which set the next election date in May 2022 came just moments after he failed at his third attempt to secure the two-thirds majority needed to bring it forward without amending the law.
After opposition parties signalled fears that he could try to sneak his Brexit deal through parliament under cover of the legislation, Downing Street issued a statement promising that Mr Johnson’s Withdrawal Agreement Bill would not be reintroduced.
The bill passed its second reading in the Commons on 22 October, but any hopes the PM had of achieving ratification in time for a Halloween Brexit were dashed when MPs voted down his proposed timetable.
In a clear bid to win over opposition MPs, a senior No 10 source said Mr Johnson’s new plan was “very similar” to the bill drafted by Lib Dems and the SNP. And he added: “The WAB will not be put back. This is the way to get Brexit done so the country can move on.”
Opposition parties voiced concern that Mr Johnson’s proposed exit date came after students have returned home from university for their Christmas break, with Mr Corbyn claiming that many would be “disenfranchised” along with elderly and disabled voters who would not venture to the polling stations in the potentially cold and wet conditions of a December ballot.
But Tories pointed to information suggesting that none of the UK’s 40 biggest universities will have ended term by 12 December.
The drama in the Commons came after the European Union finally killed off any chance of a no-deal Brexit on Thursday, announcing a “flextension” delay to 31 January, with the option for earlier departure if Mr Johnson’s withdrawal deal is approved by parliament.
In a letter accepting the three-month delay, Mr Johnson told Donald Tusk, the European Council president, that he regarded “this unwanted prolongation of the UK’s membership” as “damaging to our democracy” and urged the EU to make clear there would be no further extensions beyond January.
And he said: “While we will of course not seek to deliberately disrupt the EU’s business, I must underline that I continue to have a responsibility as prime minister to protect the UK’s national interests during this period, including in EU decision-making.”
Downing Street declined to say whether the UK would now appoint a new European commissioner, but confirmed that the £100m “Get ready for Brexit” advertising campaign is being paused.
Despite the move from Brussels, Mr Johnson failed hours later to win the 434 MPs’ backing needed for an early election as his motion won 299 votes in favour to 70 against. Labour MPs were whipped to abstain, with just Kate Hoey rebelling to support the election motion.
Mr Johnson told MPs that voters would find the official opposition’s refusal to support an election “utterly bewildering”.
We’ve led the fight for a People’s Vote for three years, but the official opposition has refused to wholeheartedly support one.
Our plan for a Dec 9th general election is the best way to move forward & give people the chance to #StopBrexit > https://t.co/Q5Uwt381TS #DitchBrexit pic.twitter.com/aclxv9MSjp— Liberal Democrats (@LibDems)October 28, 2019
Declaring his next effort to secure a poll, he said: “We will not allow this paralysis to continue. One way or another, we must proceed straight to an election.
“This House can’t any longer hold this country hostage … Now that no deal is off the table, we have a great new deal and it is time for the voters to have a chance to pronounce on that deal and replace this dysfunctional parliament with a new parliament that can get Brexit done.”
Former chancellor Philip Hammond – stripped of the Tory whip after rebelling over no deal – denounced the PM’s move as “self-indulgent”.
“Parliament showed last week it wanted to get on with the bill – it’s the government that hasn’t allowed us to do so,” said Mr Hammond. “So stop the self-indulgent focus on elections on both sides and concentrate on passing the bill. If we’d done that last week, we could have finished it by now.”
Mr Johnson’s words concealed deep divisions within his party over the wisdom of going to the country before EU withdrawal is complete, leaving Tories vulnerable to attack by Nigel Farage’s Brexit Party.
But Mr Corbyn also faces disquiet among his parliamentary party about the prospect of an election in which polls suggest many of them could lose their seats.
Responding to the PM’s latest proposal, Ms Swinson said: “Boris Johnson claims he wants a general election, but he also claimed he wouldn’t prorogue parliament or put a border down the Irish sea. If Boris Johnson wants a general election, then he could have supported our bill for a general election on 9 December. Instead, he has chosen to stick to his original plan for 12 December which we have already rejected.
“Liberal Democrats are the strongest party of Remain and will continue to campaign to stop Brexit, just as we have for the last three years.”
An SNP source said: “The SNP will consider the contents of the bill when it is published and will scrutinise it very carefully. We want an election, but we know that time and again this Tory government has shown it cannot be trusted.”