The Supreme Court issued the ruling in an announcement in Kyiv that was broadcast live moments ago after appeals from both candidates.
Supreme Court Chairman Anatoliy Yarema, delivering the court's ruling after five days of deliberations, said a "repeat vote" is required.
He said the ballot should take place three weeks counting from 5 December -- meaning 26 December -- suggesting it would be a repeat of the November runoff.
Both opposition presidential candidate Viktor Yushchenko and his opponent, Prime Minister Viktor Yanukovych, have pledged to honor
the Supreme Court's decision.
The case revolved around claims of fraud
submitted by Yushchenko, the opposition candidate who says the 21 November runoff was rigged in favor of Prime Minister Yanukovych, who was declared the winner by the Central Election Commission.
The Supreme Court finished questioning witnesses and examining evidence yesterday.
Hundreds of opposition supporters were gathered near the court house in Kyiv today to await the ruling, with thousands of others convened on Kyiv's Independence Square, the center of opposition protests since the runoff.
(from RFE/RL and wire reports)[Click here for more RFE/RL coverage of Ukraine's disputed presidential election.]