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.
The government has not ruled out getting behind that proposal date, if it fails to get its preferred date through the Commons later.
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.
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”.
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 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.
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 17:00 GMT.
Mr Johnson said if Parliament agreed to an election on 12 December, he would restart efforts to get his Withdrawal Agreement Bill – the legislation enacting the Brexit deal he struck with Brussels – into law.
The bill passed its first hurdle last week after MPs backed it at the second reading by a majority of 30.
But minutes later they voted against a timetable that would see it pass through Parliament in just three days, so the PM “paused” its progress.
Labour has repeatedly said it will not back an early general election until a no-deal Brexit is taken off the table.
The party was predicted to abstain in Monday’s vote, effectively killing off the government’s plans.
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, provided there is an extension.
The SNP and Lib Dems have proposed a 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.
Asked about the Lib Dem/SNP proposal, Education Secretary Gavin Williamson said the government would “always look at every single option”.
But he told BBC Breakfast: “The best way is to vote for the motion tonight. This Parliament is totally broken. Let the people decide the next step forward.”
MPs have already twice rejected a call from the PM to hold a general election.