Parliament was recalled on Wednesday after the Supreme Court ruled that Boris Johnson's suspension was unlawful. Few had any idea of what would follow — but no one could have predicted the deep tension and outpouring of fury that would eventually unfold.
MPs were summoned back to Westminster from their constituencies, while the prime minister flew back early from New York where he had been addressing the United Nations.
Commons Speaker John Bercow kicked off proceedings. "Order! Colleagues. Welcome back to our place of work," he said pointedly. Opposition MPs cheered as Bercow declared that the court ruling meant that parliament had not been prorogued (the formal suspension of parliament) but, in fact, simply adjourned.
That is important as it means that parliament simply picks up where it left off when it was suspended by Johnson two weeks ago — legislation that looked doomed is now back in play, including bills on tackling domestic abuse and reforming archaic divorce laws.
There was a busy day ahead: two urgent questions, followed by five government statements including from the prime minister himself.
First up, Geoffrey Cox, the attorney general. He had to answer questions about parliament's unlawful suspension.
He seized his big moment, delivering an impromptu rip-roaring speech laying into Labour for failing to back a general election. "This parliament is a dead parliament!" Cox declared, sparking memories of Monty Python. "It should no longer sit. It has no moral right to sit on these green benches."
He went on: "This parliament is a disgrace! They could vote no confidence at any time but they’re too cowardly, they could agree to a motion to allow this House to dissolve but they’re too cowardly!
"This parliament should have the courage to face the electorate but it won’t, it won’t, because so many of them are really all about preventing us leaving the European Union. But the time is coming when even these turkeys won’t be able to prevent Christmas!”
His tirade was met with cries of "More!" from Tory backbenchers but opposition MPs — who fear an imminent general election could lead to a no deal Brexit — were furious. Labour's Barry Sheerman was one of them, accusing Cox of "no shame, no shame at all".
"To come here with his barrister's bluster," Sheerman said. "To obfuscate the truth, a man like him, a party like this, a leader like this to talk about morals and morality is a disgrace!"
He wasn't the only one turned off by Cox's theatrical display and OTT rhetoric. Amber Rudd, who quit the cabinet and Tory party over Brexit earlier this month, called on Cox to "cease this language of pitting parliament against the people".
"The failure is that we have not yet reached a compromise... many of us long to leave the European Union but are frustrated by the fact we have not been able to find consensus," she said.
Cox also drew fury from MPs campaigning for new laws to tackle domestic abuse — firstly by talking about a "when did you stop beating your wife question" and then airily agreeing that MPs should debate the topic because "we might as well do something".
Labour MP Clive Efford asked Cox when he first became aware that the advice given to the Queen about prorogation was not true. Cox replied: "In advocacy terms, that is what we used to call a 'When did you stop beating your wife?' question.
"I do not accept the premise of the question. There is no question that the Supreme Court found in any way that any advice that had been given was consciously or knowingly misleading."
He was also asked by Labour MP Alex Norris whether he would make sure there was enough time for MPs to debate the domestic abuse bill, which he said would "improve the lives of tens of thousands across this country".
Cox replied: "I certainly will speak to the chief whip about it if there’s consensus on all sides of this House — we might as well do something while we’re waiting for them [Labour] to make up their minds about whether to go for an election."
His dismissive response sparked a storm of outrage from MPs and campaigners, including Labour's Jess Phillips, on Twitter. But Norris told BuzzFeed News he was hopeful the government would listen. "It’s their actions, not their words, we’re interested in," he said.
Later Cox was forced to apologise for his language, after MP Emma Hardy used a point of order calling on him to "perhaps learn to moderate his language and not make jokes about domestic violence".
Cox said: "If I have given offence, I certainly did not mean to. It is an old saying at the Bar, which simply relates to a cross-examination technique of asking a question that presumes the premise. It is the way in which we were taught. If I have given offence, I apologise."
And that was only the first order of business. Next up: a minister was summoned to answer questions on the public payments made to Hacker House, the company of Boris Johnson's friend Jennifer Arcuri.
BuzzFeed News examined the social media trail surrounding Johnson and Arcuri — dubbed BoJen — after the Sunday Times revealed that her tech companies had been given tens of thousands of pounds of public money when he was London mayor.
Liberal Democrat MP Layla Moran, who tabled the question, said she wasn't interested in Johnson's personal life but wanted to make sure that rules had been followed properly, in particular that such grants should go to UK companies.
Culture minister Matt Warman insisted Johnson was not involved in the decision to award the grant, and that Arcuri's firm was based in the UK according to Companies House. He warned that Moran should not "spread tittle-tattle".
But shadow culture secretary Tom Watson said Hacker House actually had its headquarters in California. He said: "The truth is our prime minister does reckless things. He is a man whose character rends him unfit for the office he holds... We can all see who Boris Johnson is."
In normal times, an urgent question on the prime minister's alleged misuse of public funds would probably be the biggest story of the day. But these are not normal times.
There were still five pretty major pieces of business to go. First up, a government statement on the collapse of travel company Thomas Cook. Transport secretary Grant Shapps said more than 45,000 passengers would be flown home by the end of the day.
He also defended the government's decision not to bail out the company, saying it would "risk throwing good money after bad and still have to pay the cost of this repatriation".
And he said new laws were needed to allow travel firms to be wound up in a more orderly way in future. "It will require primary legislation and — dare I say — a new session of parliament," he said. Uh oh.
And then it turned out that Shapps had lifted sections of his speech from his predecessor Chris Grayling. Because of course he did.
And then: Brexit. Cabinet minister Michael Gove updated MPs — for two long hours — on government preparations for no deal.
Gove announced there had been "significant movement in recent weeks" in Brexit talks with the EU. "Until recently the withdrawal agreement was sacrosanct," he said. "But now they have acknowledged that it can be changed."
He said that under Operation Yellowhammer, the government had prepared for the worst-case consequences of a no-deal Brexit. But shadow Brexit secretary Keir Starmer wasn't convinced. "For the government to be five weeks away from leaving the EU without a plan is unforgivable," he said.
And Starmer criticised the government for failing to publish all documents relating to Operation Yellowhammer, following a Commons vote earlier this month.
It was then time for a statement from foreign secretary Dominic Raab on Iran. "Iran’s record of respect for the basic rules of international law is woeful," he said. "And it is getting worse."
Raab was asked by several MPs on all sides to press Iran on the release of British-Iranian mother Nazanin Zaghari-Ratcliffe. He said the treatment of dual nationals was "unlawful and unacceptable and it must end".
Much like Johnson said when he was foreign secretary.
Then it was the one they were all waiting for. Johnson appeared at 6.30pm to deliver a statement on how to move forward in the "paralysed parliament".
The House of Commons chamber was packed to the rafters and the atmosphere was febrile. The PM was in no mood for humility. In fact, he showed not an ounce of remorse following the Supreme Court ruling that he had misled the Queen and parliament over the reasons for prorogation.
Instead he turned the tables on the opposition, daring them to call a vote of no confidence in him to force a general election. He asked so often that it became rather desperate.
"Many of those who voted for the Surrender Act a few weeks ago said then that their intention was to stop a no-deal Brexit," he said. "They have said every day since that parliament must vote against any deal at all.
"I think the people of this country can see perfectly clearly what is going on. They know that this parliament does not want to honour its promises to respect the referendum."
His failure to show any contrition and use of phrases such as "surrender" and "betrayal" angered MPs on all sides of the House who accused him of further stoking division in the country.
Johnson had initially peppered his statement with light-hearted lines directed at Labour like "They put the yellow in Yellowhammer" and "Free the Islington one".
In fact the PM's reply to Corbyn was effectively just a list of the left-wing policies that Labour members had voted for at their conference this week. His attack on Labour was applauded at length by Tory MPs.
But he soon became visibly more uncomfortable as time went on, as more and more MPs tried to pin him down over the Supreme Court ruling and his use of divisive language.
After two hours and 45 minutes of debate, Johnson said he would keep his answers short as he was starting to repeat himself. Bercow didn't let him off the hook that easily, saying there was no need to do that.
"The hour is still quite early!" Bercow said. "I've been in the chair since 11.30am, I'm not remotely deterred — I'm sure the prime minister is not running out of energy!"
Finally, after three hours, 15 minutes, on his feet, the PM's grilling came to an end. There were a series of points of order from MPs across the chamber who raised serious concerns about the PM's use of language and the death threats they have received.
The mood of the House sunk when Liberal Democrat leader Jo Swinson spoke about how she had reported a threat against her own child to the police that day. Johnson had left the chamber by that point.
Now for the final piece of business: Commons leader Jacob Rees-Mogg told MPs what to expect the next day.
He announced there would be a motion to approve a recess for the Tory conferences next week (which the opposition is not likely to do), followed by a general debate on the "principles of democracy and the rights of the electorate".
But there was consternation from Labour MP Stella Creasy that the domestic abuse bill was not in the business statement. "Do something decent tonight and tell domestic abuse victims that we are having this legislation," she said.
Rees-Mogg insisted the bill was of "great importance" to the government.
The House finally rose at 11pm. The Commons Speaker had not left his seat since 11.30am.