Balls told Sky News: "To be fair to me, I have not been muttering for the last 18 months, I've been shouting from the rooftops the Cameron Osborne plan would fail."

He added: "If I'm honest with you I was completely staggered. It was 12.27pm and suddenly he lashes out like that. I was completely taken aback.

"But, you know, the guy is obviously worried about the economy and worried about his reputation and doesn't know what to do and his instinct is to lash out."

He added "Actually, it would be better if he calmed down and thought to himself 'what did I get wrong, what can I do about it?'

The Prime Minister was answering a question on the Government's economic record when he lashed out.

He said: "What we need to do both in Britain and Europe is to combine deficit reduction, which has given us the low interest rates, with an active monetary policy, with structural reforms to make us competitive, and with innovative ways of using our hard-won credibility, which we wouldn't have if we listened to the muttering idiot sitting opposite me."

Speaker John Bercow told Cameron to withdraw the word idiot as it was "unparliamentary". The Prime Minister replied that he would replace it with the words "the man who left us with this enormous deficit and this financial crisis".

His outburst prompted cries of "Flashman" - a reference to the bully in Tom Brown's Schooldays - from the Labour benches.

The taunt is a favourite among Labour MPs, who think Cameron is at his weakest during Prime Minister's Questions when he is visibly riled and angry.