MPs have backed Prime Minister Boris Johnson’s plan for the UK to leave the EU on 31 January.
They voted 358 to 234 – a majority of 124 – in favour of the EU (Withdrawal Agreement) Bill, which now goes on to further scrutiny in Parliament.
The bill would also ban an extension of the transition period.
Labour leader Jeremy Corbyn told his MPs to vote against it, saying there was “a better and fairer way” to leave the EU, but six of them backed the government.
The government insists a trade deal with the EU can be in place by the end of the transition period, but critics say this timescale is unrealistic.
The bill had been expected to pass easily after the Conservatives won an 80-seat majority at last week’s general election.
MPs also backed the timetable for further debate on the bill over three days when they return after the Christmas recess – on 7, 8 and 9 January.
The government says it will get the bill into law in time for the 31 January Brexit deadline.
The legislation, which would implement the Brexit agreement the prime minister reached with the EU in October, was introduced in Thursday’s Queen’s Speech, setting out the government’s priorities for the next year.
There are changes to the previous bill, which include: Legally prohibiting the government from extending the transition period – during which a trade deal between the UK and EU will be discussed – beyond 31 December 2020; Allowing more UK courts to reconsider European Court of Justice rulings that have been retained in UK law after Brexit; Requiring ministers to report annually to Parliament on disputes with the EU under the prime minister’s withdrawal agreement; Repealing spent legislation that “now serves no purpose”.
Labour leader Mr Corbyn said the government’s “mishandling of Brexit” had “paralysed the political system,” divided communities and was a “national embarrassment”.
He said MPs “have to respect the decision” of the EU referendum in 2016 “and move on”.