Boris Johnson’s “do or die” pledge to deliver Brexit on October 31 has been dealt a hammer blow after MPs voted to reject his plan to force it through the Commons in just three days.

The House voted by 322 to 308 against the programme motion which would have required the Withdrawal Agreement Bill (WAB) to clear all its Commons stages by the end of Thursday.

Just minutes earlier MPs had voted by 329 votes to 299, majority 30, to approve the Bill in principle – the first time the Commons has been prepared to back any Brexit deal put before it.

However they were not prepared to accept the tight timetable demanded by the Government in a bid to ensure there was no further delay to Britain’s departure from the EU.

Earlier, Mr Johnson warned he would pull the whole Bill and go for a general election if they rejected his timetable and decided to “delay everything until January or even longer”.

Mr Johnson has won just two of 12 votes in Parliament since he became Prime Minister in July.