The government will abandon its Brexit bill if MPs vote down its three-day timetable to get it through Parliament.
Speaking in the Commons, Mr Johnson said: “If Parliament refuses to allow Brexit to happen and decides to delay everything until January or possibly longer the bill will have to be pulled.
“There will be no further business for parliament and will move to an election before Christmas.”
The PM said Parliament had been “caught in a deadlock of its own making”, and he would “in no way allow months more of this”.
But opposition MPs called the threat to pull the bill “childish blackmail”.
Downing Street has also warned that defeating the plan would increase the chances of leaving without a deal.
Opening the debate, Mr Johnson told the Commons that the parliamentary defeat he suffered on Saturday meant he has been forced to “accelerate our preparations” for a no-deal Brexit.
“Today we have the opportunity to put all that right because if this House backs this legislation, if we ratify this new deal – which I believe is profoundly in the interest of our whole United Kingdom and our European friends – we can get Brexit done and move our country on,” the PM continued.
“And we can de-escalate those no-deal preparations immediately and turn them off next week and instead concentrate on the great enterprise of building a new relationship of the closest co-operation and friendship, as I said on Saturday, with our European neighbours.”
A Number 10 source said: “If parliament votes again for the delay by voting down the programme motion, and the EU offer delay until 31 January then we will pull the bill.
“If we do this deal, if we pass this deal and the legislation that enables it, we can turn the page and allow this country and this Parliament to begin to heal and unite.”
Jeremy Corbyn has previously said he would accept a General Election once an extension has been agreed.
Labour leader Jeremy Corbyn said on Tuesday his opposition party would not support Boris Johnson’s Brexit deal or his timetable to pass the legislation for it through parliament.
“My own view is that we should vote against this bill this evening,” he told parliament at the start of a debate on approving the legislation to allow Britain to leave the European Union with a deal on Oct. 31.
“My recommendation would be to vote against this bill,” he added, saying the party would also oppose the so-called programme motion, which sets the timetable for passage of the legislation through the House of Commons.
Labour confirm they will vote against programme motion – and say Tories made no attempt to negotiate time for Bill
In a rare move, Labour’s chief whip Nick Brown has written to government chief whip Mark Spencer to slam the government for not granting the Commons enough time to scrutinise the deal.
Mr Brown wrote that he was “disappointed that despite common practice, there was no negotiation or attempt through the usual channels by the Government to seek an agreement for an appropriate timetable”.
“The current timetable does not provide for sufficient scrutiny of the legal text of your deal,” he added.
The current timetable does not provide for sufficient scrutiny of the legal text of the Brexit deal.
Labour remain available to seek to agree a consensus on a timetable to scrutinise this deal that would command the support of all sides of the House. pic.twitter.com/SlKYIqvnaT
— Labour Whips (@labourwhips) October 22, 2019