I always try very hard not to be partisan when I judge the outcome of PMQs, but after today’s episode, I can’t imagine anyone would disagree that Ed Miliband had a very good day – and David Cameron had a terrible one.  We know the public often judge ‘winners’ on style as much as substance. Ed won on both this time and news editors won’t be able to find any part of today that shows Cameron doing well.

Given such a shambolic week for the government, it would have been easy for Labour to raise lots of different issues between Ed’s questions and backbench ones. A Tory MP later mentioned the SAS – they would call Ed’s position a ‘target-rich environment’. Too often Ed has lost momentum and been less effective because he covers two very different subjects, but today he stuck to tax and fairness and it worked very well. Cameron was clearly worried about the fuel duty u-turn, as George Osborne was made to sit on the naughty step, halfway down the front bench, outside the range of the main camera shot.

From the outset Miliband looked assured, Cameron defensive. The first question set the tone – Ed used Cameron’s own words against him – ‘I will defend every part of this budget’, and then asked ‘What went wrong?’ Of course Cameron blamed Labour for the fuel duty rise, ignoring the fact Ed Balls was first to call for the rise to be stopped.  Ed M seems to have a new sound-bite writer, as in the exchanges we had ‘panic at the pumps’, ‘back to the bunker with that answer’ and ‘he wants to change the exam system because the chancellor gets his sums wrong’. Cameron’s answers became shorter and angrier, and the benches suffered as he sat down so angry that even Nicholas Soames wouldn’t hit the benches so hard.  The PM always has the last word at PMQs, but Cameron’s last answer was truly bizarre, as he complained that Ed Miliband was asking about process, not policy. That wasn’t true, but even if it was, it was a very odd thing to say.

Back bench questions were very varied, but a prize for mischief-making goes to whoever decided to call Chris Bryant to speak – after David Cameron said he would never answer Chris until he got an apology over the accusation of lying, Bryant was one of the first called to speak.

So what have we learned today? Clearly David Cameron doesn’t know how to cope with attacks over incompetence, but even by his standards, today he looked sulky. Ed is growing in confidence and learning the way to win the battle – stick to the subject, keep jabbing away and Cameron will lose his temper. Nick Clegg looked in despair at times as he saw Cameron floundering.

The summer holidays can’t come soon enough for the Tories, but I suspect David Cameron won’t be chillaxing, as he sees the proverbial tide is coming in fast and could overwhelm his government.