"We order the central election commission to set a date for a new run-off vote from 5 December 2004 in accordance with the law," chief presiding justice Anatoly Yarema said on Friday.
Representatives of the opposition said the law stipulated holding a new election three weeks after that date, or on 26 December.
"I think it'll be the 26th" of December, said Yury Kluchkovsky.
The decision was greeted by cheers from supporters of the opposition, which claimed the 21 November run-off was riddled with fraud, appealed against the results to the supreme court and has organised mass protests for nearly two weeks to underscore its point.
As one lawyer sighed with relief, others chanted what has become an opposition battle cry: "Yushchenko!", the name of their standardbearer, Viktor Yushchenko.
Many Yushchenko supporters
cheered the court's decision
Meanwhile about 1000 supporters, who heard the court decision through hand-held radios clutched to their ears outside the supreme court building, cheered, clapped, cried and hugged each other.
The court said it had found that the results were marked by numerous violations, which the central election commission failed to examine.
"The actions and decisions of the central election commission concerning the results of the run-off presidential vote were unlawful," the chief presiding justice Anatoly Yarema said.
"The court decision is final and cannot be appealed," he added.
Akram Khuzam, Aljazeera's correspondent in Kiev, said the court's decision was a huge boost for Yushchenko.
"There is no doubt that the court's decision was a victory for Yushchenko and a great loss for Yanukovich, the government and particularly the current President Leonid Kuchma who announced two days ago that he would not agree to repeat the third round of elections," Khuzam said.
"Observers are waiting to see if the president decides to use his constitutional right and let the country go into a conflict or accept the court's decision and open a door towards holding elections on the 26th of December, 2004.
"A serious event that might happen is that the eastern areas could announce, in a public referendum, autonomy like they threatened two days ago," he added.
The uproar over the 21 November election - which pitted Western-leaning Yushchenko against pro-Russia Prime Minister Viktor Yanukovich - has split the former Soviet republic of 48 million into two polarised camps and sent cold war-era echoes on to the world stage.