Theresa May went head-to-head with Jeremy Corbyn in the House of Commons. Here's what happened.
A rowdy session as Jeremy Corbyn and Theresa May clashed over the chancellor's claim in Monday's Budget to be ending austerity.
An opening skirmish saw them trade figures about the amount of money going in - or not - to police, prisons and other public services.
Jeremy Corbyn: "If I were a prison governor, a local authority chief executive or a head teacher... I would be preparing for more difficult years ahead"— BBC Politics (@BBCPolitics) October 31, 2018
Labour leader quotes @TheIFS analysis in attack on #Budget2018
Follow #PMQs live: https://t.co/XrkZe3MgNU #politicslive pic.twitter.com/mlPkXVAUAR
The PM reprised her claim that ending austerity was not just about more money for services but also more money in people's pockets - and Mr Corbyn repeated his line that it was a "broken promise budget" because austerity was not ending.
He asked why there was no extra money for neighbourhood policing in the Budget, which Mrs May sidestepped by saying there had been extra money for "CT" (or counter-terrorism) policing and then harked back to Labour's 2015 manifesto, which she said had called for police cuts.
Mr Corbyn accused the PM of holding the police "in contempt" (quoting the Police Federation) and took a swipe at the chancellor's much-criticised promise of money for "little extras" for schools. He quoted "Sasha", a parent who said many schools "including mine have had to resort to asking students and their parents for funds".
The Labour leader then turned to the benefit freeze, contrasting it with Budget giveaways for the "highest earners".
Mrs May pulled out what she believed was her trump card - Shadow Chancellor John McDonnell's comments on Monday about not reversing the income tax cuts in the Budget, which Mr Corbyn had criticised as "tax cuts for the rich".
Theresa May thanks shadow chancellor John McDonnell for supporting #Budget2018 tax cuts— BBC Politics (@BBCPolitics) October 31, 2018
Jeremy Corbyn replies: "Are you done yet?"
Follow #PMQs live: https://t.co/XrkZe3MgNU #politicslive pic.twitter.com/e1QwJlsJ8s
This sent noise levels in the Commons through the roof as Conservative MPs bayed across the chamber at the Labour leader.
"Are you done yet," he asked them.
But it took an intervention from Speaker Bercow who told MPs to show "decency" and "respect" towards each other to calm things down, albeit temporarily.
Mr Corbyn ploughed on with his attack on the benefit freeze, prompting more frenzy from the Tory benches.
He said a further £5bn of cuts to social security were still to come in this Parliament "if it lasts until 2022" and that would "hit the incomes of those with the least".
Jeremy Corbyn: Will PM "confirm there is still another £5bn of cuts to social security to come in this Parliament - if it lasts still 2022?”— BBC Politics (@BBCPolitics) October 31, 2018
Theresa May: "We are helping people on low incomes"
Follow #PMQs live: https://t.co/XrkZe3MgNU #politicslive pic.twitter.com/dPnEB7v7iC
Mrs May hailed the fuel duty freeze, income tax cuts and universal credit changes, and said if Mr Corbyn really wanted to back working people he would "vote for the Conservative Budget on Thursday".
The Labour leader taunted the PM about her pledge to end "burning injustices" when she moved into Number 10, which he said had "fizzled out", before declaring "only Labour can be trusted to end austerity".
An angry looking Mrs May listed some of the injustices she claims to have ended, through the modern slavery bill and the racial disparity audit, before launching into a pantomime call-and-response routine about the Budget.
Tory MPs chanted along as she declared borrowing was down, unemployment was down, support for public services was up and so on.
She ended with yet another pronouncement that "austerity is ending".
What else came up?
The SNP's leader at Westminster Ian Blackford asked about medicine supplies in the event of a no-deal Brexit and asked if she was in a "blind panic about a blind Brexit". "No," replied the PM.
"Can the PM guarantee the supply of medicines to the NHS in the event of a no-deal Brexit?" asks SNP's Ian Blackford— BBC Politics (@BBCPolitics) October 31, 2018
Theresa May: "All departments are making contingency arrangements"#PMQs as it happened: https://t.co/XrkZe3MgNU #politicslive pic.twitter.com/xuTqulwpw0
Former Conservative International Development Secretary Andrew Mitchell asked about the situation in Yemen.
Conservative Andrew Mitchell on Yemen: Will PM "press for new UN Security Council resolution" calling for immediate ceasefire?— BBC Politics (@BBCPolitics) October 31, 2018
Theresa May: "We back the US call for de-escalation"
Follow #PMQs live: https://t.co/XrkZe3MgNU #politicslive pic.twitter.com/iDB78KqJKE
Labour's Paula Sheriff raised the chancellor's "little extra" for schools pledge.
"What use is a whiteboard if there is no teacher to use it?"— BBC Politics (@BBCPolitics) October 31, 2018
Labour's Paula Sherriff challenges PM on "little extras" for schools in #Budget2018
Theresa May: "Pupil funding is being protected in real terms"#PMQs as it happened: https://t.co/XrkZe3MgNU #politicslive pic.twitter.com/Erw9TdQlbi
Conservative Mark Francois repeated his call for an inquiry into historical crimes in Northern Ireland to be halted to protect military veterans.
Will PM end "the legal scapegoating of brave Army veterans by others for political or financial gain", asks Conservative Mark Francois - on prosecutions and investigations into deaths during the Troubles in Northern Ireland— BBC Politics (@BBCPolitics) October 31, 2018
More: https://t.co/dPhsGQZNu7 #PMQs #politicslive pic.twitter.com/M186FWD1mO
Labour's Chris Ruane asked about universal credit.
Labour's Chris Ruane: Is "botched introduction of universal credit" and "hostile environment towards the poor" behind large increase in rough sleepers?— BBC Politics (@BBCPolitics) October 31, 2018
Follow #PMQs live: https://t.co/XrkZe3MgNU #politicslive pic.twitter.com/Aq4UsCb7lC
Conservative MP Fiona Bruce asked about a Pakistani court overturning the death sentence of Asia Bibi, a Christian woman convicted of blasphemy.
Here is BBC political editor Laura Kuenssberg's take on the session:
“Less Maybot, more emotion, and I think she looked really furious when Jeremy Corbyn was hurling accusations at her, that she had broken her promise to end injustice….” @bbclaurak on PM at #pmqs https://t.co/Mrk5EOhCIL#PoliticsLive pic.twitter.com/eCFpyR1FSf— BBC Politics (@BBCPolitics) October 31, 2018
Here is BBC Parliamentary correspondent Mark D'Arcy's view:
The predictable Budget knockabout became rather uncomfortable for Jeremy Corbyn, as the PM pushed back on Labour's response to the tax cuts promised in the Budget.
Theresa May was visibly stung by the charge that the Budget broke her promise of an end to austerity, an attack pressed by Labour backbenchers as well as by their leader. But she also seemed more energised than she had been at any PMQs, probably since the last election.
She targeted Labour's discomfort over not opposing the tax cuts, to some effect - forcing the Labour leader onto the defensive, at least to the extent that he had to stop attacking, and explain his position.
You can over-analyse the cut and thrust of these exchanges, and over-estimate the extent to which anyone outside the Westminster bubble even notices, but inside the bubble, this was the first time for a while when Tory backbench cheers for their leader had a ring of authenticity, rather than fake enthusiasm.
The Brexit questions posed no danger - from Peter Bone's satirical adulation for the chancellor, to Julian Lewis's swiftly granted request for reassurance that there would be no postponement of Brexit.
Only Amber Rudd's deftly-phrased question highlighting business worries about access to the EU Single Market carried even a hint of danger, and it was shrugged off with no difficulty.
Questions about the war in Yemen and the need for support for victims groups around the Child Abuse Inquiry were all competently and courteously handled, so the PM could take her lunch with some satisfaction.
So does it mark the moment when the Tories perked up after a long spell of gloom?
Perhaps the key achievement of the Budget was to end the sense of drift and offer the troops something resembling a vote-winning message - but if the "jam tomorrow" promised by the chancellor turns out to be thinly spread, the PM's good few minutes at the despatch box will not be remembered for long.