Any delay will require the agreement of all other 27 EU members, with talks about possible conditions for an extension to take place before next week’s EU summit, which begins on Thursday.

If MPs approve Mrs May’s deal before the Brussels summit, she could ask the EU to delay Brexit until 30 June.

Alternatively, there could be a much longer delay, requiring the UK to take part in elections for the European Parliament in May, the prime minister has said, in the event her deal is not approved.

It is still technically possible that we could leave the EU at the end of this month – the law has not changed.

But politically it is now almost entirely out of reach.

The prime minister is accepting she will miss one of the biggest targets she has ever set herself.

Thursday’s vote was awkward for another reason, as it again displays the Conservatives’ fundamental divisions.

This is more than a quarrel among friends, but a party that is split down the middle on one of the most vital questions this administration has posed, with cabinet ministers, as well as backbench Brexiteers, lining up to disagree with Theresa May.