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.