Borrowing levels announced in the Budget - amounting to nearly £350bn over the next two years - were historic, Mr Cameron claimed.
The chancellor had "written a whole chapter of red ink" while failing to come up with a credible plan to bring the public finances back into balance.
He said Gordon Brown failed to grasp the extent of the problems facing the UK because he was in denial about his role in causing them.
"He will never bring the changes required because he does not accept the economic model he has run during the last 12 years is fundamentally bust," he said.
The Conservative leader attacked a plan to raise income tax on earnings above £150,000 a year to 50% next April as politically driven and said other tax increases, including a 2p rise in fuel duty, would hit the poorest in society.
However, the Conservatives have indicated that they will not reverse the proposed 50p tax rate if they win the next election.
Treasury spokesman Philip Hammond told the BBC his party could not "in all honesty" promise this given the scale of the "black hole" in the public finances.
"We are not going to make a commitment to repeal the 50p tax rate," he said, adding the Tories would instead seek to reduce the tax burden for those on middle and lower incomes.
"We are going to focus on the taxes for the many."
The BBC's political editor Nick Robinson said the 50p tax proposal, which, if introduced before the next election would break a manifesto pledge by Labour, was partly designed to wrong-foot the opposition as many Conservatives would want their leadership to oppose it.
Earlier, during prime minister's questions, Mr Brown accused the Conservatives of wanting to "cut their way through" the recession and do nothing to help the unemployed.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.