Here's a rundown of what happened, and what to expect in the days to come.
What happened on Wednesday night?
The Prime Minister was first scuppered by MPs approving legislation designed to prevent a no-deal Brexit, an option Mr Johnson wanted as part of his “do or die” commitment to leave the EU by October 31.
The backbench Bill to delay the UK’s departure in order to stop a deal-less dropout was supported in its third reading in the Commons by 327 votes to 299, a majority of 28.
Backed by a group of former Tory rebels, the proposal must face the scrutiny of the House of Lords and voting by peers before it gains Royal Assent and becomes law.
If it passes, the Government would have to ask the EU for a delay to Brexit until January 31, 2020, if no agreement has been reached and MPs have not backed to a no-deal.
If the European Council proposes an extension to a different date, the PM must approve it within two days, unless the Commons says otherwise.
The next body-blow delivered to the PM on the night was the rejection of his proposal for an early general election, which needed the support of two thirds of MPs.
Jeremy Corbyn’s Labour, along with other opposition MPs, refused to back the request with the risk of a no-deal still on the table.
While nothing in politics is certain before it occurs, those events were largely anticipated.
However, there was one surprise development when an amendment to the backbench Bill was unexpectedly approved.
Theresa May’s final Brexit deal, which never made it to the Commons before she was ousted as Tory leader, could now be put to MPs if the no-deal prevention Bill is approved by Parliament.
The amendment from Labour’s Stephen Kinnock was approved after no tellers for those voting against were put forward.
A Government source said it was a “free vote so no one put tellers in”.
Boris Johnson hits out at Jeremy Corbyn for refusal to take part in general election
What will happen on Thursday?
This is largely down to the Lords.
Peers will ensure the Bill does not receive an easy passage to become law.
This was demonstrated on Wednesday by Lords spending several hours discussing the timetable for the debate, without getting onto the substance of the Bill.
Opposition peers are concerned there will not be enough time to approve the legislation before Parliament is suspended next week, as ordered by Mr Johnson.
A further development could come from the courts when a judicial review hearing is held into that decision by the PM.
Campaigning businesswoman Gina Miller is among those challenging him in the High Court.
Will there still be an early election?
Labour has stalled the process, saying they want the no-deal prevention legislation to be approved so there is no ploy by the PM to sneak it through.
Mr Johnson believes his only option now is to have the national poll, so he could try to call a fresh vote on the Fixed-Term Parliaments Act to get an election after the Bill is approved.
This would allay the fears raised by Labour and should give them no clear reason to reject an election.
Mr Johnson on Wednesday night hinted he could take this path by urging Labour MPs to rethink the “unsustainability” of Mr Corbyn’s current position over the coming days.
Alternatively, Mr Corbyn could call for a vote of no-confidence in the Government to force an election on his own terms.
This would require the backing of a simple majority of MPs and no new administration being formed in 14 days before the public get their say.
ITV News Political Editor Robert Peston says the UK will most likely be heading to the polls soon
When would the election be?
The PM wants it to be held on October 15, so the victor can attend the EU Council summit where a last ditch deal could be secured.
Labour is yet to state when it wants a vote, other than to say it must be after no-deal is taken off the table.
Mr Corbyn declined to set a date during an interview this week, but he said: “I will choose a time, but you will know soon enough.”