The snap poll was called by PM Yingluck Shinawatra amid major anti-government protests in Bangkok.
The ruling party was expected to win, but the opposition boycotted it and protesters disrupted voting, meaning the election has not been completed.
The vote was unconstitutional because it did not take place on the same day across the country, the court said.
Polls were not held in a number of constituencies because protesters had blocked candidate registration.
Thailand’s Constitutional Court, which ruled to void the election by six votes to three, was responding to a motion by a law lecturer who had challenged the election on a number of points.
It is not clear when a new election will be held.
Thailand has been hit by anti-government protests since November 2013.
The protesters, who are mainly urban and middle class, want Yingluck Shinawatra’s government replaced by an unelected “people’s council”.
They allege her brother, ousted leader Thaksin Shinawatra, controls her administration and say Shinawatra family money has corrupted Thai politics.
Yingluck Shinawatra and her ruling Pheu Thai party remain very popular in rural areas, however, leaving Thailand deeply polarized.
The US House Ethics Committee has voted to release its report on former Republican Representative…
ABC News has agreed to pay $15 million to President-elect Donald Trump to settle a…
South Korea’s parliament has voted to impeach President Yoon Suk Yeol over his failed attempt…
Israeli war planes have carried out more than 100 air strikes in Syria on December…
President-elect Donald Trump has threatened to impose 100% tariffs on the BRICS countries if they…
Syrian troops have withdrawn from the city of Aleppo following an offensive by rebels opposed…