The EU withdrawal bill cleared all its stages in the House of Commons tonight, unscathed by amendments. It will go to the House of Lords after next week’s recess and – assuming it isn’t amended there – it is scheduled to receive the royal assent on 7 March. Theresa May’s Brexit train is running ahead of timetable.

Clive Lewis, the shadow Business Secretary, became the fourth member of the shadow cabinet to resign rather than vote with the Conservatives. Last week Jo Stevens, Rachael Maskell and Dawn Butler left the shadow Cabinet, while several junior shadow ministers voted against the Labour whip but have so far been allowed to keep their posts.

Thus Jeremy Corbyn has managed, by judicious followership, to come out of the other side of the first battle of the parliamentary Brexit war with most of his troops intact. Two thirds of Labour MPs voted for the bill on third reading, emerging from the barbed wire of the trenches in a ragged but still more-or-less together state.

That was the last vote in the Commons (unless the Lords send it back, which is unlikely). A handful of Labour MPs followed Lewis in switching their vote from supporting the principle of the bill last week to voting against it, on the grounds that Labour failed to secure any of its amendments.

Lewis’s stand marks him out as the left-wing leader of the anti-Brexit brigade, the irregulars who hope one day to be vindicated by events if Brexit goes bad.

It pits him against Keir Starmer, the shadow Brexit Secretary, who argues that Labour has to accept the result of the referendum. Starmer’s case is that, despite the opposition’s failure to amend the bill, he secured an important concession from the Government. David Jones, the Brexit minister, yesterday said that the UK Parliament would vote on the final Brexit deal before the European Parliament did. As I argued this morning, this was a small but significant concession, and the most that Labour could expect to extract, given that its leadership essentially agrees with the Government about Brexit.

Starmer was similarly criticised after the 7 December debate when he tabled a motion demanding that the Prime Minister set out her plan for Brexit. The Government amended it to add that Article 50 should be invoked by the end of March – then the Government and the Labour front bench both voted for it. Starmer was criticised for failing to try to delay Article 50 but he secured what he set out to obtain, namely a plan, which Theresa May set out in her Lancaster House speech last month.