The prime minister was speaking about Turkish accession to the European Union before a crowd of local residents in the English seaside town of Hove on Thursday when he made the slip.
Cameron said Turkey would be "a very good political influence for us" because the country "can help us solve some of the world's problems like the Middle East peace process and the fact that Iran has got a nuclear weapon."
Cameron's Downing Street Office said it was "perfectly clear" that Cameron was referring of the pursuit of a nuclear weapon, but opponents say that Cameron — who was the youngest British prime minister to come to office in nearly 200 years — is showing signs of inexperience.
Labour's former Europe minister, Chris Bryant, said Cameron's Iran gaffe wasn't just "downright embarrassing," it was dangerous.
"He is increasingly getting a reputation for being a foreign policy klutz, with two right feet, both of them firmly planted in his mouth," Bryant said.
Cameron has made a sting of eyebrow-raising statements over the past few weeks, drawing fire at home for his claim that Britain was no more than the "junior partner" of the U.S., irritating Israelis by calling Gaza a prison camp and outraging Pakistanis by suggesting their country exports terrorism.
Downing Street's footage of the meeting: http://bit.ly/9mx7hA