The Prime Minister claimed at Prime Minister's Questions the Labour leader's promise of a 20-month freeze in energy prices was undeliverable because no government could control wholesale energy markets.
In robust exchanges, Mr Cameron said if Mr Miliband did introduce the price freeze, it would only lead to higher energy costs for households and businesses in the long term.
"This isn't a policy, it's a gimmick," declared the PM.
He told the Labour leader: "The reason it's a gimmick is that you are in favour of a decarbonisation target that would add £125 to everybody's bill. Now it is obvious why you want to talk about the cost of living because you do not have an economic policy any more.
"Isn't it the case that what you are promising is a price increase before a promise, a broken promise, and then a price increase after a promise? One price increase, one broken promise, another price increase. That sounds like every Labour government since the war."
But Mr Miliband hit back, accusing Mr Cameron of having no answer to Labour's energy freeze policy, unveiled at last month's party's conference.
Mr Miliband argued that the UK Government's policy to help consumers switch to the lowest energy tariff would not help 90% of the population whereas his policy would benefit 27m households and 2.4m businesses across the country.
"What is clear," insisted Mr Miliband, "is that you are floundering around and you have no answer to Labour's energy price freeze.
"You didn't even defend your own policy, which won't benefit 90% of the country. You have no idea. You say you want to bring energy prices down but can you confirm that energy prices have gone up by £300 since you became Prime Minister?"
Mr Cameron said that energy prices had doubled under Labour.