Boris Johnson will abandon attempts to push his Brexit bill through this parliament in a bid to get the Liberal Democrats and the SNP to agree to an election before Christmas – although the parties are still in dispute over the potential date.

The prime minister failed on Monday to get the votes of two-thirds of MPs he needed to secure an election under existing laws, after opposition parties largely abstained.

However, he said he would table a short bill on Tuesday that would change the law in order to hold a poll on 12 December. He would only need a simple majority for this plan, so an election could be achieved with the backing of the Lib Dems or the Scottish National party.

Johnson told the House of Commons: “We will not allow this paralysis to continue, and one way or another we must proceed straight to an election. The government will give notice of presentation for a short bill for an election on 12 December so we can finally get Brexit done. This House cannot any longer keep this country hostage.”

European leaders expected to grant Brexit delay Read more

The idea first came from the Lib Dems, who have enjoyed a boost in the polls since backing a policy to revoke Brexit. The party has said its 19 MPs would support legislation for an election on 9 December if the prime minister abandoned his attempts to bring back the EU withdrawal bill.

Play Video Boris Johnson fails to get enough votes to trigger early election – video

A No 10 source said: “The withdrawal bill will not be brought back. This is the way to get Brexit done so the country can move on.”

On Monday night the Commons leader, Jacob Rees-Mogg, told MPs that all stages of legislation to trigger an early general election would go through the Commons on Tuesday, adding: “I can assure this House that we will not bring back the withdrawal agreement bill.”

Earlier Jo Swinson, the Lib Dem leader, said she was not happy with Johnson’s proposed date of 12 December, which is after many universities have broken up for Christmas and students have returned to their home towns.

She 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.”

Swinson left the door open for a possible compromise, but there are fears among opposition parties about whether the prime minister really would abandon all efforts to pass the EU withdrawal agreement before the dissolution of parliament next Wednesday.

Jeremy Corbyn keeps door open to backing December election Read more

Ian Blackford, the SNP Westminster leader, said his party would need a “cast-iron guarantee” that the prime minister would not try to bring back his Brexit deal to parliament.

He told MPs: “It is clear that there is a desire on the opposition benches to bring forward a bill that can give us an election. But we don’t trust this prime minister and we don’t trust this prime minister for good reason.

“So the prime minister, if he is going to bring forward a bill, must give an absolute cast-iron assurance that up until the passage of that bill and the rising of parliament, that there will be no attempt to bring forward the withdrawal agreement bill.”

Jeremy Corbyn, the Labour leader, also suggested his party could be persuaded to back the idea, with the shadow cabinet convening on Tuesday to discuss its position.

“We will consider carefully any legislation on an early election,” he said. But Corbyn added that a date needed to be locked down in law to prevent Johnson trying to move it for his own advantage and also suggested he would want it to be earlier than 12 December,saying any plan would need to “protect the voting rights of all of our citizens”.

For a 9 December election, parliament would need to pass its legislation by Thursday this week, but for a 12 December election it could wait until the middle of next week.

The government’s argument is that it needs a 12 December date in order to pass Northern Ireland budget legislation before parliament is dissolved for an election.

No 10 has been split over whether to proceed with the Brexit deal before an election or just push straight for the polls. But Johnson made a firm decision on Monday that ditching the withdrawal bill this parliament was a price worth paying for an election.

However, polling experts are divided over whether an election before Brexit will benefit Johnson at all, with the Brexit party expected to exploit his failure to leave on 31 October.

The prime minister’s move for an election came on the day he accepted the EU’s offer of a three-month extension to article 50, bringing a formal end to his pledge for the UK to complete Brexit by 31 October,“do or die”. The government finally recognised that this prospect was over by pausing its £100m advertising campaign, which had stated the UK would leave the EU on that date. It also shelved Operation Yellowhammer, Whitehall’s efforts to plan for a no-deal Brexit.

Labour is also split about the wisdom of a poll when Brexit remains unresolved, with some senior shadow cabinet ministers arguing for an election and others for a second referendum first.

The Liberal Democrats are keen for an election as they are doing well in the polls on the back of their pro-EU position, while the SNP are also expected to gain MPs in Scotland on current predictions.

Did your MP vote for an early general election? Read more

Although the Conservatives are ahead, many Tory MPs believe it is a very risky move at a volatile time and have reminded the prime minister how Theresa May lost a strong poll lead over Corbyn in 2017 to finish with a hung parliament.

Former Tories who had the whip withdrawn over their opposition to a hard Brexit and some pro-deal Labour MPs said they were unhappy with Johnson’s decision to abandon the withdrawal bill.

Philip Hammond, the former chancellor who had the whip removed, said: “Parliament showed last week it wanted to get on with the bill – it’s the government that hasn’t allowed us to do so. 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.”

Sarah Champion, a Labour MP who voted for Johnson’s deal at second reading, added: “I’ve always said Boris doesn’t care about Brexit, just increasing his majority and staying as PM. He had a majority to get a Brexit deal and he’s thrown it away in his quest for a general election.”