Army Chief of Staff Gen. Sir Richard Dannatt said the threat to Harry and his regiment were too great. "There have been a number of specific threats, some reported and some not reported. These threats exposed him and those around him to a degree of risk I considered unacceptable," he said.
The announcement was a reversal of a previous decision by commanders to send Harry into Iraq this month with his Blues and Royals regiment.
Harry has insisted throughout months of debate in Britain that he did want to serve alongside his fellow soldiers, wherever duty should call.
The prince's office said Harry was "very disappointed" with the decision to keep him out of Iraq, but would not abandon his Army post.
"He fully understands Gen. Dannatt's difficult decision and remains committed to his army career," the statement from Clarence House said. "Prince Harry's thoughts are with the rest of the battle group in Iraq."
Britain's Ministry of Defense had long said the decision would be kept under review amid concerns for the security of Harry, a second lieutenant, and other soldiers serving with him. Prince Harry is a tank commander trained to lead a 12-man team in four armored reconnaissance vehicles.
Photos: Prince Harry
Sky News first reported that the military had reconsidered its decision to send Prince Harry, the younger son of the late Princess Diana of Wales, into battle after weighing the possible risks of sending the third in line to the British throne into a war zone that seems unlikely to become less dangerous in the near future.
Al Qaeda-linked insurgents had vowed to capture or kill Harry if he ended up in Iraq, and most British observers agreed that if such a thing happened, it would be a huge propaganda boost for the insurgents, and a huge morale hit for the U.K.
The prince not going to war may be a propaganda victory for the insurgents in its own right, reports CBS News correspondent Mark Phillips.
Harry would have been the first member of the British royal family to serve in a war zone since his uncle, Prince Andrew, flew as a helicopter pilot in the Falklands conflict with Argentina in 1982.