Hours after the EU formally agreed to postpone Britain’s departure again, up to the end of January, lawmakers voted for the country’s third election in four years.
It is a gamble for Johnson, who leads a minority Conservative government, but he had nowhere left to turn after MPs rejected the Brexit terms he struck with Brussels less than two weeks ago.
His Conservatives are currently well ahead of the opposition Labour party in opinion polls, and he hopes to win a majority in the lower House of Commons in order to push through his Brexit plan.
But his failure to keep to his “do or die” pledge to leave the EU on Oct 31 risks a backlash.
The election outcome could have huge implications for Britain’s tortuous Brexit process, which began with the 2016 EU referendum.
Labour is committed to a new “people’s vote”, while two smaller opposition parties want to reverse Brexit and remain in the European Union.
Many Labour MPs are wary of an election, fearful of defeat under their leftist leader Jeremy Corbyn, but he swung his support behind the poll.
The other 27 EU member states earlier formally adopted Monday’s decision by envoys to delay Brexit by up to three months until the end of January, with an option for Britain to leave early if it ratifies an exit deal.
“To my British friends, The EU27 has formally adopted the extension. It may be the last one. Please make the best use of this time,” European Council President Donald Tusk said on Twitter.
The election bill will now go to the unelected upper House of Lords for debate on Wednesday, but peers are expected to back the plan, paving the way for parliament to be dissolved early next week.
Johnson took office in July promising to end the wrangling over Brexit which has bitterly divided the country, but a rebellion over his hardline strategy left him without a majority in parliament.
Unable to win MPs’ support for his divorce terms, he was forced by law earlier this month to ask his fellow EU leaders for a delay.
After three failed attempts to pass a normal election motion, which requires the support of two-thirds of MPs, Johnson on Tuesday took an alternative path.
He introduced a bill to legislate for an election – a method which required only a simple majority, and this passed by 438 votes to 20.
“We are left with no choice but to go to the country to break free from this impasse,” he had told MPs.
A newly elected parliament would have a “new mandate to deliver on the will of people and get Brexit done”, he said.
In a move to unite his Conservative party ahead of the poll – the first to be held in December since 1923 – Johnson readmitted 10 of the 21 MPs he expelled last month for defying his Brexit plan.
Labour had sought to push for the general election to be held on Dec 9, but this was defeated by 315 votes to 295.
Veteran socialist Corbyn had been torn between rival camps over whether to support Johnson’s election initiative.
But the smaller Scottish National Party and the Liberal Democrats – who both oppose Brexit – wanted an election, making it hard for Labour to stand in their way.
Corbyn had refused to back an election until Johnson's threat to leave the EU without a divorce deal was removed, but said this was resolved by the three-month Brexit delay.
“This election is a once-in-a-generation chance to transform our country and take on the vested interests holding people back,” he said Tuesday.
“We will now launch the most ambitious and radical campaign for real change that our country has ever seen.
“This is our chance to build a country for the many not the few and fit for the next generation.”
Experts warn that British politics remains deeply volatile more than three years after the referendum vote, and say the election result could be unpredictable.
There was significant voter switching between the 2015 and 2017 elections.
Election specialist John Curtice from the University of Strathclyde in Glasgow said Johnson is in a strong position to get a majority – but an election remains a gamble.
“Boris has to win. A hung parliament and Boris is out,” he said, warning that a Labour-led coalition would likely take over.