Labour MPs were left glum-faced as Cameron delivered his strongest performance for months.
Cameron looked evasive as he responded to Miliband's call for a limit on MPs' outside earnings with a reheated attack on the unions.
The Tories should not make the mistake of assuming that the public shares their instinctive loathing of the trade unions.
After being surprised by Cameron's commitment to banking reform, the Labour leader struggled to regain his poise.
The PM's framing of the party as soft on welfare but tough on pensioners is dangerous for Miliband and Balls.
The Labour leader refused to rise to Cameron's child benefit jibes and left the PM struggling to explain away the A&E crisis.
With the aid of some fine lines, Labour's deputy leader ridiculed the PM's EU panic.
Miliband accuses the PM of a "disgraceful slur" after he says the Mid-Staffs report was a "reminder of Labour's record on the NHS".
After a perfectly-scripted joke from the Labour leader on alcohol pricing, the PM never recovered.
The PM has left it too late to reframe the debate over the welfare cut, not least with a phrase as clunky as his.