Boris Johnson’s bid to override parts of the Brexit deal has cleared a major hurdle in parliament.

The prime minister had been expected to win the key vote on his Internal Market Bill, due to the Conservatives’ large majority in the House of Commons.

MPs voted for the proposed legislation by 340 to 263 – a majority of 77.

Five former prime ministers – three of them Conservative – also expressed serious reservations, with David Cameron making a rare speech on Monday.