The Prime Minister blamed Labour and the Liberal Democrats for the failure of the EU (Referendum) Bill, and insisted Tories would make another attempt to put the proposals on the statute book.
"Today the Labour Party in the House of Lords voted to block our Bill that would have ensured a referendum on Britain's EU membership by the end of 2017," Mr Cameron said.
"This is disappointing news for all of us, but we are not going to give up in our efforts to turn our referendum commitment into law. Far from it.
"After all, we succeeded in passing it through the House of Commons - a huge achievement.
"We are going to try to re-introduce the same Bill in the next session of Parliament and, if necessary, rely on the provisions in the Parliament Act to stop Labour and Liberal Democrat peers killing the Bill once again."
The Bill was effectively blocked from making further progress when peers voted by 180 to 130 to end debate without clearing the committee stage.
Scrutiny could resume next week but, with only one sitting Friday left in the Commons, it is now impossible for the Bill to become law.
Conservative James Wharton, the backbench MP (Stockton South) who brought forward the legislation as a private member's bill at the behest of the Tory leadership, said: "Labour and the Lib Dems have conspired in the House of Lords to kill this important piece of legislation, doing the bidding of their political masters in the Commons.
"It's now clearer than it has ever been that it's only the Conservatives who will give people a choice on this important issue. I think many people will be disappointed by what has happened today."
In a letter to Tory activists, Mr Cameron made clear he would seek to make the issue a key dividing line at the general election next year.
He said: "We are doing everything we can to ensure that an in-out referendum is enshrined in law before the next election.
"But the most important point is this: irrespective of these attempts, the Conservative Party remains absolutely committed to giving the British people their say in a referendum. We are the only the party that wants to give the British people their say.
"That message - that we want to let Britain decide - is what we take to the country as we head into the European and general elections.
"It is clearer than ever now where we stand: the only way you can get that referendum is to vote Conservative."
But Labour and the Lib Dems accused the Tories of killing their own Bill by failing to allow more time for debate, with both parties stressing they were happy to keep considering it next week.
The Prime Minister's vow was dismissed by his Liberal Democrat coalition partners as "a bit of bluster" that had not been discussed with them.
"This sounds like a bit of bluster after the rather unedifying events of yesterday," a spokesman said in a reference to an immigration Bill vote that saw the PM swerve a confrontation with rebellious backbenchers.
"There hasn't been any discussion with us about this.
"The coalition Government have already legislated for the circumstances in which there would be a referendum.
"We don't agree with this Bill and we are not going to change our position just because the Tories have problems handling their backbenchers and are running scared of Ukip.
"It's also worth noting that it was the Tories who killed the bill in the Lords. We were happy to continue debating it."