The opposition-led parliament voted on 12 March to impeach Roh barely a year into his five-year presidency for breaking an election law, economic mismanagement and corruption among aides.
But the president of the court, Yun Young-chul, said in the televised reading of the judges' opinions that the counts of mismanagement and corruption were not grounds for impeachment.
The court said Roh had violated the election law but not intentionally – and that meant it was not grave enough to plunge the country into political chaos.
"The court is overturning the impeachment case," Yun said at the end of the 25-minute session in the courtroom.
The ruling meant Roh was automatically reinstated after two months spent mostly in self-imposed isolation at the Blue House presidential compound.
Roh's spokesman Yoon Tae-Young welcomed the ruling, saying "before the people and history, we humbly accept the Constitutional Court ruling."
The outgoing National Assembly voted 193-2 to impeach Roh, despite charges that it was a politically motivated move to boost their chances in the April election.
Surveys have shown seven out of 10 South Koreans were opposed to the impeachment.
Three opposition parties –the Grand National Party, the former ruling Millennium Democratic Party and the United Liberal Democrats- pushed the vote through parliament and were all punished at the polls.
The Uri Party of Roh took a majority of 152 seats in the 299-seat parliament in a vote seen as a popular rejection of the impeachment.