EU leaders have agreed in principle to extend Brexit until 31 January 2020 – meaning the UK will not leave as planned on Thursday.
EU Council President Donald Tusk said it was a “flextension” – meaning the UK could leave before the deadline if a deal was approved by Parliament.
It comes as MPs prepare to vote on proposals by Boris Johnson for an early general election on 12 December.
The SNP and Lib Dems have also proposed an election on 9 December.
A No 10 source said the government would introduce a bill “almost identical” to the Lib Dem/SNP option on Tuesday if Labour voted their plan down later, and “we will have a pre-Christmas election anyway”.
The prime minister is trying to persuade MPs to agree to a new timetable for his Brexit deal legislation and an election on 12 December.
The Lib Dem/SNP plan does not include a new timetable for his legislation – the Withdrawal Agreement Bill.
The BBC’s political editor, Laura Kuenssberg, said it was not clear whether the government would stick to a 9 December election date, but the move implied implies ministers would “give up [an] attempt to get bill through”.
It was also not clear whether the government’s “almost identical” bill would amendable, allowing MPs to vote on issues like a customs union or another referendum.
Labour’s shadow cabinet are meeting to decide on their position, ahead of the Commons vote.
The UK was due to leave the EU on Thursday, but Mr Johnson was required to request an extension after Parliament failed to agree a Brexit deal.
The prime minister had repeatedly said the UK would leave on 31 October deadline with or without a deal, but the law – known as the Benn Act – requires him to accept the EU’s extension offer.
Boris Johnson’s “do or die” pledge to leave by 31 October is no more – it is dead.
Many will see this as a no-deal Brexit being taken off the table, at least until 31 January.
So it will increase the arguments in the Commons that with no-deal parked, Parliament now has to make a decision on an election.
And that is what Mr Johnson will be trying to argue over the next few days.
For the PM, there is a risk of calling an election without Brexit being resolved, as he may be punished for it at the ballot box.
So, while it buys more time, it also creates an element of uncertainty for the prime minister.
He will now campaign for an election in the knowledge that he has failed in his signature policy which he campaigned for in the Conservative leadership election.
The president of the European Parliament, David Sassoli, said the extension was “positive”, and “gives time for the UK to make clear what it wants”.
Downing Street said Mr Johnson had not yet seen the EU’s response to his request for a Brexit delay.
“The PM will respond once he has seen the detail,” his official spokesman said. “His view has not changed. Parliament should not have put the UK in this position and we should be leaving on 31 October.
“The PM secured a great new deal despite being told this impossible but Parliament has chosen more dither and delay.”
Mr Tusk will now seek the UK’s formal agreement to the decision, before formalising the extension through a written procedure among the 27 other EU nations.
An EU official said they hoped for the process to be concluded by Tuesday or Wednesday.
MPs are due to vote on the prime minister’s election call after 18:00 GMT.
Labour has repeatedly said it will not back an early general election until a no-deal Brexit is taken off the table.
The SNP also said it would block the government’s election attempt.
But it has broken with the Labour position and joined forces with the Liberal Democrats to push for an election on 9 December.
Their bill that would tweak the Fixed-term Parliaments Act 2011 – the law which sets the time-frame for elections.
If passed, it would enable an election to take place with only a majority of one, rather than two-thirds of MPs.
The SNP’s Westminster leader, Ian Blackford, said they would then fight an election “on the basis” of stopping Brexit.
He welcomed the extension from the EU, telling the BBC: “There is a responsibility on all of us to make sure we use that time to get out of the Brexit mess we are in and to get out of the impasse everybody is fed up of being in.”
Lib Dem MP Chuka Umunna claimed the plan would also prevent the prime minister “ramming through” his Brexit bill, which the Lib Dems oppose, and changing the date of an election until after the UK had left the EU.
“The only way you can stop Brexit is through a democratic mandate of the people,” Mr Umunna told BBC News.
“We have tried to secure a People’s Vote [or further referendum] 17 times in Parliament… but we have simply not had the support. So, our best bet… is getting a new Parliament with a different arithmetic.”
His party leader, Jo Swinson, added: “We will keep fighting for a People’s Vote, but unless Labour wholeheartedly back it then a general election is the only way we can use this extension to stop Brexit.”
But Labour Party Chairman Lavery said accused the Lib Dems of “getting into bed with the no-deal Brexit Conservatives and forgetting their chums” in the People’s Vote campaign.
He tweeted: “Moral of the story: Never trust a Tory and for heaven’s sake never trust the Lib Dems.”
MPs have already twice rejected a call from Boris Johnson to hold a general election.