The lower house of parliament rejected a motion introduced by MPs from Cameron's Conservative party expressing regret that the coalition government's plans for the year contain no guarantee of a referendum.
But Cameron's attempts to end growing eurosceptic dissent in Conservative ranks appeared to have failed as the figure of 130 legislators who voted for the non-binding motion was far higher than expected.
It included around 115 Conservatives, more than one third of the party's 305 lawmakers in the House of Commons.
Leading Tory rebel Peter Bone vowed to carry on pushing for legislation committing to a referendum.
"We're not going to walk away," he said.
Bone claimed that the vote could have been won with Cameron's support and urged the prime minister to introduce legislation despite opposition from the Lib Dems.
"To a certain extent, the prime minister was encouraging us to vote for the amendment because, after all, it's his own policy," he told BBC News.
Cameron, who missed the vote because he is visiting the United States, had insisted he was "profoundly relaxed" about the vote and gave his MPs a free vote, although ministers were expected to toe the line.
The Conservative rift is bad news for the party two years before a general election, and a reminder of how the issue of Europe led to the downfall of late former prime minister Margaret Thatcher and undermined her successor John Major in the 1990s.
The parliamentary motion proposed by the rebels expressed "regret" that legislation promising a referendum was not included in last week's Queen's Speech, in which the government set out its programme for the year.
