A Brexit deal has been agreed between the UK and EU before a meeting of European leaders in Brussels.
Boris Johnson and Jean-Claude Juncker called it a “fair” outcome – and the EU Commission President said there was no need to extend the Brexit deadline.
He said: “We have a deal so why should we have a prolongation.”
This will be a boost for the PM, but he still faces a battle to get the deal through Parliament on Saturday, with the DUP opposing it.
Mr Johnson urged MPs to “come together” and “get this excellent deal over the line”.
He added: “Now is the moment for us to get Brexit done and then together work on building our future partnership, which I think can be incredibly positive both for the UK and for the EU.”
Brexit should happen “without any more delay”, he added, so that the government could turn its attentions to domestic priorities.
The prime minister has repeatedly insisted the UK will leave the EU on 31 October – he could yet be forced to ask for an extension but it will be up to the leaders of the 27 member states – not Jean-Claude Juncker – whether to grant one
The EU and UK negotiating teams worked round-the-clock on the legal text of the deal, but it will still need the approval of both the UK and European parliaments.
In a statement, the Democratic Unionist Party, which the government relies on for support in key votes, said: “These proposals are not, in our view, beneficial to the economic well-being of Northern Ireland and they undermine the integrity of the Union.”
DUP deputy leader Nigel Dodds accused Mr Johnson of being “too eager by far to get a deal at any cost”.
“If he’d held his nerve – and held out – he would, of course, have got better concessions which kept the integrity, both economic and constitutional, of the UK,” Mr Dodds told BBC News.
He said he expected a “massive vote” against Mr Johnson’s deal on Saturday in the House of Commons – and the DUP expected to “play a crucial role” in amending the legislation.
Can Boris Johnson win the vote?
The winning post for votes in the House of Commons is 320 if everyone turns up – seven Sinn Fein MPs don’t sit and the Speaker and three deputies don’t vote.
There are currently 287 voting Conservative MPs. The prime minister needs to limit any rebellion among them.
Then, if the DUP won’t support his deal, he’ll need the backing of 23 former Conservative MPs who are currently independents. Most will probably support the deal, but not all.
That’s still not quite enough, though, so the PM will also need the backing of some Labour MPs and ex-Labour independents. In March, when MPs voted on Theresa May’s deal for the third time, five Labour MPs backed it, plus two ex-Labour independents.
This time it’s likely to be a bit higher than that because several MPs have said they would now back a deal.
All this still leaves the vote very close. And it’s possible some MPs could abstain, making it even harder to predict the outcome.