The Prime Minister looked shocked after being defeated by 13 votes after the Government put forward a motion to involve UK forces in action being planned by the US.
It is a damaging blow to his international standing and standing within his own party.
The vote is also thought to be an unprecedented parliamentary reverse over British military action.
In it, Tory rebels joined with Labour to inflict a humiliating defeat on the Prime Minister.
A motion backing the use of force "if necessary" in response to last week's deadly chemical weapons attack was rejected by 272 votes to 285, majority 13.
Mr Cameron had already been forced to water down his stance - accepting Labour demands that direct British involvement would require a second vote following an investigation by United Nations weapons inspectors.
But the concession was not enough to win over enough coalition MPs, conscious that public opinion is heavily against any intervention and wary of the decade-long controversy over the Iraq war.
After the shock result and to shouts of "resign" from the Labour benches, Mr Cameron told MPs: "I strongly believe in the need for a tough response to the use of chemical weapons.
"But I also believe in respecting the will of this House of Commons.
"It is clear to me that the British Parliament, reflecting the views of the British people, does not want to see British military action. I get that and the Government will act accordingly."
Earlier, Mr Cameron told MPs during an impassioned seven-and-a-half hour debate that the public was
sceptical and war-weary but insisted the situation in Syria was not the same.
"It's not about taking sides in the conflict; it's not about invading. It's not about regime change or indeed working more closely with the Opposition; it's about the large-scale use of chemical weapons and our response to a war crime - nothing else."
He said it was "beyond doubt" the Syrian regime had used chemical weapons and that the evidence about the latest attack, including at least 95 videos