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 its first stage by 329 votes to 300.
If it is passed in full, it will force the PM to ask for an extension to 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 it if went through.
This vote was on the second reading - the parliamentary stage which examines the main principles of the bill - and is the first chance for MPs to show whether they support the bill.
MPs are now debating amendments to the bill - put forward by MPs but chosen by the Speaker - ahead of another vote at 19:00.
It would be after this the PM might carry out his threat of tabling his motion for an election.
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 are trying to push it through as quickly as possible so it becomes law before the government suspends Parliament next week.