British MPs on Tuesday gave their initial approval to a law implementing Prime Minister Boris Johnson's Brexit deal, but could still derail his attempts to get the agreement passed in time to leave the EU on October 31.
Johnson won the first of two crucial votes in the House of Commons, which will determine if he can fulfil his "do or die" promise to deliver Brexit next week.
MPs voted by 329 to 299 to approve in principle the Withdrawal Agreement Bill, which implements the divorce treaty he agreed with European Union leaders last week.
But they could still now vote against the government's timetable to rush through the 110-page bill by Thursday evening, to allow its ratification before October 31.
The Conservative leader warned earlier Tuesday that failure to pass the motion would see him abandon the legislation - and instead seek to call a snap general election.
The prime minister was forced on Saturday to ask EU leaders to postpone Brexit - something he once said he would rather be "dead in a ditch" than do - after MPs declined to back his new deal.
But he could still avoid having to delay by getting the deal ratified by October 31.
Opening the debate, Johnson - a key figure in the 2016 EU membership referendum Leave campaign - urged MPs to support the legislation so "we can get Brexit done and move our country on".
If not, he said the "bill will have to be pulled" and he would seek an early election - although he needs the support of Labour to do this, and it has twice refused.
Opposition parties, many of whom dislike the Brexit deal, have said it is "ludicrous" to expect proper scrutiny of the legislation in less than three days.
Labour leader Jeremy Corbyn, who has called for a second referendum on Brexit, said Johnson was trying to "blindside" MPs into supporting a "rotten bill".
It "fails to protect our rights and our natural world, fails to protect jobs and the economy, fails to protect every region and every nation in the UK", he said.
The Democratic Unionist Party, Johnson's Northern Irish allies, accuse him of duping them about new trading arrangements for the province.
DUP MP Sammy Wilson said he "nearly choked" when he heard Johnson's assurances, adding: "The prime minister thinks I can't read the agreement."
EU 'will be ready'
The timetable motion is intended to ensure the House of Commons debates the bill quickly, allowing it to go onto the unelected upper House of Lords.
Johnson warned that seeking further time would kill any hope of leaving the EU with a deal next week - and risks a "no-deal" exit if the EU declines to approve a delay.
In Strasbourg, European Council president Donald Tusk said the other 27 EU leaders were mulling Johnson's request, but the result "will very much depend on what the British parliament decides".
He said the EU should be "ready for every scenario", although he added on Twitter: "A no-deal Brexit will never be our decision."
In Paris, French Foreign Minister Jean-Yves Le Drian said he saw "no justification at this stage" for further delay.
"We've been waiting for three years for this decision," he said.
"It's important for it to be announced today, because otherwise there will no option except 'no deal', which is not the solution we prefer."
Businesses and markets on both sides of the Channel fear a "no-deal" Brexit, where Britain severs ties with its closest trading partner with no new plans in place after 46 years of integration.
More hurdles ahead
If Johnson wins both votes on Tuesday, MPs could still derail his bill, which must also be ratified by the European Parliament.
The deal covers EU citizens' rights, Britain's financial settlements, a post-Brexit transition period until at least the end of 2020 and new trade arrangements for Northern Ireland.
It also sets out vague plans for a loose free trade agreement with the EU after Brexit.
But some MPs are seeking to amend the bill to demand Britain stay in the bloc's customs union, and others want a greater say for parliament in deciding future ties.
After tens of thousands of people demonstrated in London on Saturday for a second referendum, others could try to attach plans for a "People's Vote".
There could also be attempts to strengthen protections for environmental and workers' rights.
An earlier Brexit text agreed by Johnson's predecessor Theresa May was rejected three times by MPs earlier this year.