The high court - divided by a 5-4 vote – judged on Monday that President George Bush has the power to detain American citizen Yasir Hamdi, who was captured in Afghanistan as a suspected Taliban fighter.
But the justices ruled by an 8-1 margin that Hamdi should get a fair opportunity to contest the government's case for detaining him.
The decision was one of three by the high court on Monday in cases that pitted civil liberties concerns against national security arguments.
It marks a blow to Bush's assertion of sweeping presidential powers after the 11 September 2001 attacks.
In the Hamdi case, the court said the US Congress correctly authorised the detention of combatants in the narrow circumstances alleged in the case, but ruled that he could challenge his detention - a position at odds with what the
Bush administration argued.
At least two court members - Justices David Souter and Ruth Bader Ginsburg - would have released Hamdi immediately, stressing that it was up to the Bush administration to prove him guilty.
But the main opinion by four other justices was that Hamdi should have a meaningful opportunity to offer evidence that he is innocent of being an enemy combatant.
The four, in an opinion written by Justice Sandra Day O'Connor, said constitutional due process rights demand that a citizen held in the United States as an enemy combatant must be given "a meaningful opportunity" to contest the basis for the detention before a neutral party.
Hamdi was born in the United States on 26 September 1980, to Saudi parents, and was raised in Saudi Arabia.
He was captured in Afghanistan in November 2001 while fighting with the Taliban, according to US officials.
He initially was taken to the US military base at Guantanamo Bay in Cuba, but was moved to the United States when US officials discovered he was born in Louisiana.
The justices set aside a US appeals court ruling that Hamdi was entitled to no further opportunity to challenge his enemy-combatant label.