(BBC) – MPs have backed a bill to block a no-deal Brexit, which could trigger Boris Johnson to seek a general election.
Opposition MPs and Tory rebels ensured the bill passed by 327 votes to 299.
The bill forces the PM to ask for an extension beyond the 31 October Brexit deadline if a deal has not been agreed with the EU.
But Mr Johnson has warned he would push for an immediate vote on an early general election if it went through.
MPs also voted on amendments to the bill – put forward by MPs, but chosen by the Deputy Speaker.
One amendment appeared to pass without a vote as no tellers were available to count the votes against it, said BBC Parliamentary correspondent Mark D’Arcy.
It was put forward by Labour’s Stephen Kinnock to force an extension to the Brexit deadline to allow MPs to vote on Labour’s proposed changes to former Prime Minister Theresa May’s withdrawal agreement back in May.
During his first Prime Minister’s Questions, Mr Johnson challenged Labour leader Jeremy Corbyn to put his policy of “dither and delay” over EU withdrawal to the British people on 15 October in an election.
But Mr Corbyn said the PM was “running down the clock” on a no-deal Brexit and “hiding the facts” about the likelihood of food and medicine shortages.
MPs backing the bill attempted to push it through as quickly as possible so it becomes law before the government suspends Parliament next week.
The bill will then go to the Lords for approval on Thursday – it is unclear what will happen in the Lords, but it could end up being debated through the weekend if opponents manage to filibuster
If the Lords pass any amendments, it will have to return to the Commons for approval.
Once the bill has passed all stages, it will receive Royal Assent from the Queen (making it law).
In the Lords, peers are debating a business motion setting out the rules for how the bill will go forward if it is passed by the Commons.
As it stands, the motion gives a mechanism – known as a “guillotine” – ensuring all stages of the bill are finished in the Lords by 19:00 on Friday.
But pro-Brexit peers have tabled over 100 amendments to try and filibuster the motion and stop the bill going ahead.