The UK is set for a 12 December general election after MPs voted to back it following months of deadlock over Brexit.
By a margin of 438 votes to 20, the Commons approved legislation paving the way for the first December election since 1923.
The bill is still to be approved by the Lords but could become law by the end of the week.
If that happens, there will be a five-week campaign up to polling day.
The prime minister has said the public must be “given a choice” over the future of Brexit and the country.
Mr Johnson hopes the election will give him a fresh mandate for his Brexit deal and break the current Parliamentary deadlock, which has led to the UK’s exit being further delayed to 31 January.
The PM said it was time for the country to “come together to get Brexit done”, as he left a meeting of the 1922 Committee of backbench Conservatives held minutes after the vote.
‘Once-in-a generation chance’
He has readmitted 10 of the 21 Conservative MPs he threw out of the party rebelling over Brexit, allowing them to stand as Conservative candidates.
Labour leader Jeremy Corbyn said: “This election is a once-in-a-generation chance to transform our country and take on the vested interests holding people back.”
He said his party would “now launch the most ambitious and radical campaign for real change that our country has ever seen”.
Shadow Cabinet minister Andrew Gwyne said voters faced a choice between “five more years of Boris Johnson’s slash and burn politics” and a Labour government genuinely on the side of working people.
But some Labour MPs have expressed misgivings over the timing of the election, believing only another referendum can settle the Brexit question for good.
The Liberal Democrats and the SNP signalled their support for an election earlier this week, arguing it was now the best way of stopping Brexit.
The PM had tried and failed three times to get Parliament’s backing for an early election. But on this occasion, MPs approved the necessary legislation after just six hours of debate.
There was last-minute wrangling over the date amid Labour concerns that students could be “disenfranchised” if it was held outside term time.
But their call for the poll to be held on Monday 9 December – at a time when they believed more students would be at their term-time addresses – were rejected by 315 votes to 295.