The Prime Minister promoted Chris Grayling to Justice Secretary, replacing veteran Ken Clarke, who had been criticised as too soft.
But a decision to remove Justine Greening from the transport brief was immediately criticised by London mayor Boris Johnson, who accused Mr Cameron of shifting her because she opposed building a third runway at Heathrow airport.
The coalition’s first major reshuffle was discussed by Mr Cameron and his Liberal Democrat deputy Nick Clegg, but many of the appointments are unlikely to please the junior party.
Apart from Mr Grayling, Northern Ireland Secretary Owen Paterson - a strong supporter of fox-hunting - was switched to the environment brief. Iain Duncan Smith and Michael Gove have held on to the key roles of work and pensions and education.
Jeremy Hunt was also rewarded after a successful Olympics, being shifted from culture to become Health Secretary, despite controversy over his handling of the BSkyB takeover bid. The Lib Dems refused to back him in parliament in the face of the criticism.
Maria Miller had one of the biggest promotions, becoming Culture Secretary after previously serving as minister for the disabled. Theresa Villiers, formerly transport minister, was appointed Northern Ireland Secretary.
Casualties of the changes included Welsh Secretary Cheryl Gillan and Environment Secretary Caroline Spelman. Andrew Lansley’s move from health to Leader of the House will be seen as a demotion.
Baroness Warsi is no longer Conservative Party chairman, but will attend Cabinet with responsibilities for foreign affairs and faith after apparently insisting Mr Cameron give her a more substantial role.
All of the Liberal Democrats’ Cabinet ministers kept their jobs, and there is a return for David Laws, who becomes education minister more than two years after he resigned over an expenses scandal.
Ms Greening spent well over an hour in Downing Street before the announcement that she had been appointed International Development Secretary.
The news drew Mr Johnson’s strongest attack yet over Heathrow policy, accusing Mr Cameron of plotting to abandon the Tories’ manifesto commitment against a third runway.
Praising Ms Greening as a “first rate transport secretary”, he added: “There can be only one reason to move her - and that is to expand Heathrow airport...
“Now it is clear that the Government wants to ditch its promises and send yet more planes over central London.”
The mayor - who has been accused to manoeuvring to replace Mr Cameron as leader - has long called for a new ‘Boris Island’ airport to be built in the Thames Estuary.
He urged the new Transport Secretary Patrick McLoughlin to “look at all the options, including bolder solutions that would deliver massive benefits in jobs and growth”.
“And it is time for the Government to level with Londoners,” Mr Johnson went on. “Are they in favour of a third runway at Heathrow or not?”
Chris Grayling’s installation as Justice Secretary was warmly welcomed by those on the right of the Tory party. He forged a reputation as tough on crime while serving as shadow home secretary before the general election.
By contrast, Mr Clarke had been criticised for his defence of the Human Rights Act and backing for community sentences rather than prison.
But the former chancellor denied that being moved to minister without portfolio, where he is expected to advise on the economy, was an humiliation.
The 72-year-old Tory “big beast” told reporters: “Being offered a job in the Cabinet at my age? Don’t be so daft. It’s rather a privilege, I think.”
In a statement later, he added: “When David Cameron first asked me to return to the frontbench, we agreed that I would serve in the Cabinet for two years.
“I am very pleased that he has now asked me to stay on in Cabinet as Minister without Portfolio.
“At my age, it is time for me to step back from the slog of running a large Department, but I am delighted to have been given a more advisory political role.”
Tory backbencher Peter Bone said the Prime Minister seemed to be “listening to his party” after damaging rebellions over Europe and Lords reforms, and the new team had a more “traditional look”.
“The things I wanted to see were the party chairman (Lady Warsi) going and Ken Clarke going,” he said.
“I think Grant Shapps will do very well as party chairman and I think Ken Clarke being relieved of a ministerial department is sensible.
“Putting him in as a help-aide to the Chancellor is good.
“Andrew Lansley being made Leader of the House is good because he is a real parliamentarian.
“And Chris Grayling (as Justice Secretary) is superb. We will have a much tougher approach on justice.”
Mr Bone went on: “I think there is a great chance to bring the party together. For the party point of view I think that is good news.
“It does seem to be a more traditional look to the line-up. Certainly it would show a Prime Minister listening to his party.”
Fellow backbencher Stewart Jackson said he was “reasonably positive” about the shake-up.
Mr Clarke was “past his sell-by date” in the justice role, according to the MP.
“Chris Grayling I think is the right person for the job at justice,” he said. “I think it is quite a balanced approach by the Prime Minister to respect the different traditions in the party and keep good talent.”
Movements within the second tier of the Lib Dem ministerial contingent see Norman Lamb replace Paul Burstow at Health, with Nick Clegg’s Commons aide Jo Swinson moving to fill the resulting gap at Business, Innovation and Skills.
There was no immediate confirmation of who was being lined up to replace her.
Mr Burstow - along with Sarah Teather whose education role is being taken over by Mr Laws - both leave the Government ranks.
Mr Cameron’s shake-up appeared to have met with the approval of one of his most severe Tory backbench critics, Nadine Dorries.
“I’m liking this reshuffle,” she wrote on Twitter, singling out the moves for Mr Shapps, Mr Hunt, Mr Grayling, Ms Miller and Ms Villiers.
Labour frontbencher Michael Dugher branded the shake-up a “no-change reshuffle”.
“No move for a failing Chancellor in charge of a failing economic plan that has delivered a double-dip recession, who gave a tax cut for millionaires and who refuses to tax bank bonuses,” he said.
“And there are no moves across almost all of the most senior Cabinet jobs.
“On Sunday David Cameron promised to ‘cut through the dither’, but today he was too weak to move Iain Duncan Smith from the Department of Work and Pensions and was forced to back down.
“Jeremy Hunt, the man who broke the ministerial code and failed to stand up to News Corporation, is now in charge of the NHS, our most cherished national institution.
“This reshuffle isn’t a fresh start - it’s more of the same from an out of touch and failing Government that stands up for the wrong people.”
Tory Crispin Blunt returned to the backbenches after losing his job as prisons minister at the Ministry of Justice.
The Reigate MP said: “Whilst, of course, I am disappointed not to be able to continue to deliver the radical and far-reaching policy changes around offender management and criminal justice, I look back over the last two-and-a-half years with pleasure and pride over our achievements in the Ministry of Justice.””
Mr Blunt said the “freedom of the backbenches” would allow him to campaign on constituency issues, particularly his “non-negotiable” priority of protecting the green belt - something which could set him at odds with ministers eager to streamline planning rules to promote growth.
“Whilst the Government is right to pursue radical measures to kick-start the economy, this cannot come at the permanent expense of our precious environment,” said Mr Blunt.
“I used the opportunity of my final conversation with the Prime Minister as one of his ministers to make this clear.”