The vote concluded what was about 10 hours of debate by lawmakers.
Hundreds of anti-war campaigners managed to shut down Parliament Square on Wednesday, but were unsuccessful in their last-ditch attempt to stop MPs from voting to bomb Daesh in Syria.
Cameron, who visited French President Francois Hollande after the Paris attacks, said Britain needs "to take action now, to help protect us against the terrorism seen on the streets of Paris and elsewhere."
But Labour leader Jeremy Corbyn said the prime minister's case "doesn't stack up" and could make the situation worse.
During the debate, Cameron faced calls to apologize for reportedly saying opponents of military action were "terrorist sympathisers", with Corbyn saying it "demeaned" his office.
Two years ago, Cameron called for military action in Syria in response to allegations that the Syrian government had used chemical weapons in the civil war. Parliament, however, voted against UK intervention in that case.
Share this story