Theresa May went head-to-head with Jeremy Corbyn in the House of Commons. Here's what happened.
Voters across England go to the polls on 3 May in local elections - and this Prime Minister's Questions gave us a sneak preview of the sort of campaign they can expect. It looks like it won't be pretty.
Jeremy Corbyn kicked off by challenging Theresa May to say if the collapse of Tory-run Northamptonshire County Council was a result of Conservative "incompetence" locally or nationally.
It was one of those carefully-crafted PMQs posers that is meant to put the PM in an impossible position and had Labour MPs baying for an answer.
Mrs May simply ignored it and instead declared "Conservative councils cost you less".
Mr Corbyn had another go, highlighting the boasts of Northampton's Tory leader who had once said his authority had pioneered the "easy council" model, where as many services as possible are outsourced to the private sector.
"Does the prime minister believe that the slash-and-burn model for local government is really a good one?," asked Mr Corbyn.
The PM pointed to a report by an independent inspector who had said the council's problems were not down to underfunding.
“Does the PM really believe that the slash-and-burn model for local government is really a good one?” @jeremycorbyn— BBC Daily Politics and Sunday Politics (@daily_politics) March 21, 2018
“Northamptonshire’s failure is not a case of underfunding” @theresa_may #pmqs pic.twitter.com/PiyYVyFFod
Mr Corbyn accused the government of "prioritising tax cuts for the super rich and big business" over funding for social care, libraries and bin collections.
The mention of bins allowed Mrs May to get in a swipe at a Labour-run Birmingham council's bin strike.
She then revealed what she thought was her trump card - judging from the sing-song voice she adopted as she drew her reply out - comments by Labour's shadow local government secretary Andrew Gwynne, who she claimed wanted to stop voters' ability to block large local tax rises while also backing a land value tax and a "new hotel tax".
“Government cuts means councils across England are facing a £5.8bn funding gap by 2020” @jeremycorbyn— BBC Daily Politics and Sunday Politics (@daily_politics) March 21, 2018
“People living in Birmingham under a Labour-run council saw thousands of tonnes of waste on the streets because the council was failing to collect the bins” @theresa_may #pmqs pic.twitter.com/eUdET8kPOx
The Labour leader said Mr Gwynne didn't think councils "should be a vehicle for privatisation". He then quoted the Tory leader of Surrey County Council, who said of council funding "the government cannot stand idly by while Rome burns".
“He did not mince his words. He went on to say the government cannot stand idly by why Rome burns” @jeremycorbyn using Surrey County Council leader words— BBC Daily Politics and Sunday Politics (@daily_politics) March 21, 2018
“The average council tax for Band D property is £100 less under Conservative councils than it is under Labour” @theresa_may pic.twitter.com/Iy4yzx8a2q
Mrs May switched to a political attack on Labour's "hard left", reading out a list of Labour council leaders she claimed had been forced out.
This sent the Commons volume up - prompting Speaker Bercow to tell MPs to emulate the "Zen-like" calm of Ken Clarke, the father of the House.
"We all admire Zen," observed Mr Corbyn.
There were further angry exchanges about local government finance - and further attempts by the PM to needle Mr Corbyn about allegations of anti-Semitism in his party and the alleged persecution of "moderates".
Mr Corbyn threw in a quote from retail guru Mary Portas, a one-time Tory adviser, criticising the government.
But Mrs May got the final word, as she always does at PMQs, and used it to trumpet the latest unemployment figures, which she said were the best since 1975.
“Does it not tell you everything you need to know about this government? That it demands households and businesses pay more to get less” @jeremycorbyn— BBC Daily Politics and Sunday Politics (@daily_politics) March 21, 2018
“This government is spending more on our schools and our NHS than ever before” @theresa_may before quoting employment figs #pmqs pic.twitter.com/a7li9fkdCV
What else came up?
Iain Blackford highlighted links between Cambridge Analytica - the firm at the centre of a row over the alleged misuse of personal data from Facebook users to influence the US election - and senior figures in the Conservative Party.
"Can I point out that the parent company of Cambridge Analytica - Strategic Communications Laboratories - has been run by a chairman of Oxford Conservative Association," said the SNP's leader at Westminster.
He added that "links to the Conservative Party... go on and on".
Mrs May told MPs: "As far as I'm aware the government has no current contracts with Cambridge Analytica or with the SCL group."
It all got a bit Carry On for a moment, as Tory MP Tom Pursglove asked the PM about plastic coffee cup waste.
"Perhaps if she is around afterwards. I might be able to give one to her," he asked Mrs May, who seemed to enjoy the double entendre.
The SNP's Drew Hendry brought up the alleged sell-out of the UK fishing industry in the EU transition agreement.
Labour's David Crausby asked about the safety of England fans travelling to Russia for the World Cup.
Here is what Daily Politics presenter Andrew Neil made of it:
“The reason for that is the local elections are now looming on May 3, and campaigns are getting under way” @afneil on why the #pmqs exchanges were about council spending and services #bbcdp #pmqs pic.twitter.com/EVS2qC3U6G— BBC Daily Politics and Sunday Politics (@daily_politics) March 21, 2018
And here is Laura Kuenssberg's verdict:
“Jeremy Corbyn started off with a real zinger of a question, about - is it local Tories or national Tories that are incompetent” @bbclaurak— BBC Daily Politics and Sunday Politics (@daily_politics) March 21, 2018
"Labour, particularly in London, expect to make some pretty dramatic gains, and the Tories are braced for a pretty difficult night” #bbcdp pic.twitter.com/9bmkQgGfpg
What the BBC's Parliamentary Correspondent Mark D'Arcy made of it:
Ho-hum. Another scrappy score draw in the Vauxhall Conference. The PM seemed surprised that Jeremy Corbyn chose to attack on council cuts - and his opening question on the woes of (Conservative controlled) Northamptonshire County Council, now effectively bankrupt and recommended for abolition, left her discomforted.
But as Mr Corbyn pivoted from Northants to Surrey and Leicestershire, Theresa May recovered herself and started citing examples of quitting Labour council leaders and Labour activists switching to her party. Maybe the fact that she had such obvious lines of retaliation available to her explained her surprise.
Perhaps Mr Corbyn's most effective moment came when he pointed to the impact of rising business rates - a subject that genuinely worries many Conservatives - but he did not press that attack very far. In many ways this was a prototypical May-Corbyn exchange - him: "cuts are bad…" Her: "Labour would be worse." Parliamentary artistry it isn't.
Perhaps the most politically interesting aspect of this session was the exchanges on fisheries, The government knows it is in a difficult position over the transitional deal it has struck with the EU. Fishing communities which hoped to see Britain pull out of the Common Fisheries Policy on Brexit Day have been disappointed - and infuriated.
Scottish Conservative MPs, many of whom would lose their seats if their fisher-folk turned against them, are deeply worried and have already expressed their disappointment. There were discouraged from doing so again, today. But the intervention from Brexiteer ex-minister Mark Francois demonstrated that it is not just constituency interest that drives backbench Tory disquiet; there are plenty of Tories who are very disappointed on ideological grounds - and are putting down markers against a longer-term compromise of fishing rights after the transition.
The PM came prepared with a carefully-worded answer on this issue, but she knows it will not go away, and that she faces a real dilemma, because the electoral cost of failure on this issue could be a reverse of those vital Tory gains in Scotland.
The SNP's Drew Hendry cashed in on Tory discomfort, but his Leader, Ian Blackford, raised the Cambridge Analytica saga, detailing the links between the company and Conservative Party figures. The PM did not enjoy that - and it may have been Mr Blackford's most effective moment at PMQs since assuming the SNP's Westminster leadership.
What pundits are saying on Twitter
Had Corbyn had another response, he could have noted that unemployment is up by 24,000 and wages down by 0.2%. #PMQs— George Eaton (@georgeeaton) March 21, 2018
Not since the Nescafe ad has there been such a coffee based double entendre— James Forsyth (@JGForsyth) March 21, 2018
Fascinating. No10 political spksman confirms Cambridge Analytica made "an approach" to work for Tory party but that was "under a previous administration" ie Cameron. Says "thinks" approach turned down under May.— Paul Waugh (@paulwaugh) March 21, 2018
And finally, for podcast fans...
Another 5 star review for @afneil's podcast 'Prime Ministers Questions with Andrew Neil'. The latest edition with @trussliz, @AnnelieseDodds and @bbclaurak is out now. This week, are councils underfunded? https://t.co/x3hABizNol pic.twitter.com/BVgpbxO81s— Liz Rawlings (@lizrawlings) March 21, 2018