MPs have voted by a majority of 384 to allow Theresa May to get Brexit negotiations under way.
They backed the government’s European Union Bill, supported by the Labour leadership, by 498 votes to 114.
But the Scottish National Party and the Liberal Democrat leadership opposed the bill, while 47 Labour MPs and Tory ex-chancellor Ken Clarke rebelled.
The bill now faces further scrutiny in the Commons and the House of Lords before it can become law.
The prime minister has set a deadline of 31 March for invoking Article 50 of the Lisbon Treaty, getting official talks with the EU started.
MPs held two days of debate on the bill, Brexit Secretary David Davis saying that voting against it would be to “ignore” last June’s referendum, in which voters opted by 51.9% to 48.1% in favour of Brexit.
His Labour shadow, Sir Keir Starmer, said the issue was “difficult” for his party, most of whose MPs had wanted to stay in the EU, but argued it would be undemocratic to ignore the electorate,
Shadow cabinet members Rachael Maskell and Dawn Butler quit the party’s frontbench shortly before the vote, in order to defy their party leader’s orders and oppose the government.
Earlier, MPs voted against an SNP amendment aimed at scuppering the bill.
The bill was published last week, after the Supreme Court decided MPs and peers must have a say before Article 50 could be triggered.
It rejected the government’s argument that Mrs May had sufficient powers to trigger Brexit without consulting Parliament.