Media playback is unsupported on your device Media caption The BBC's Helen Catt explains Tuesday's developments in Parliament

The UK is set to go to the polls on 12 December after MPs backed Boris Johnson's call for an election following months of Brexit deadlock.

By a margin of 438 votes to 20, the House of 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.

Please upgrade your browser to view this interactive How did your MP vote? Enter a postcode, or the name or constituency of your MP Seat vacant

He has readmitted 10 of the 21 Conservative MPs he threw out of the party for 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 Gwynne 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.

More than 100 Labour MPs did not take part or abstained in Tuesday's crucial vote, while 11 voted against an election. A total of 127 Labour MPs, including Mr Corbyn, supported the election.

Media playback is unsupported on your device Media caption MPs backed a 12 December general election by 438 votes to just 20

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.

Mr Corbyn announced earlier on Monday that he now backed the idea because the EU's decision to delay Brexit for three months had taken a no-deal departure off the table.

Lib Dem leader Jo Swinson said neither Mr Johnson nor Mr Corbyn "was fit to be prime minister" and it was not inconceivable that her party could form the next government.

"I am standing as a candidate to be the next prime minister and in these volatile political times that is absolutely possible," she told Sky News.

The SNP's Kirsty Blackman said her party was determined to do everything to stop Scotland being taken out of the EU against its will, while also campaigning aggressively for a decisive break with a "decade of austerity".

Brexit Party leader Nigel Farage welcomed the election, tweeting that the deadlock had been broken and "Brexit now has a chance to succeed".

Boris Johnson 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 - was rejected by 315 votes to 295.