Mr Meta said the political situation in Albania would not allow for fair elections, scheduled for 30 June.
The announcement came after weeks of protests aimed at forcing socialist Prime Minister Edi Rama stand down.
Mr Rama insists elections will go ahead as planned. For months now, Mr Rama has been at odds with the president – a former coalition ally.
President Meta’s announcement came shortly before protesters, some who had been throwing smoke bombs and firecrackers outside parliament in the capital Tirana, were dispersed by police firing tear gas.
Opposition groups accuse the prime minister of electoral fraud and corruption, and have called for an early general election.
They also want to see the creation of a transitional government, and have refused to negotiate with the prime minister.
Lulzim Basha, the leader of opposition Democratic Party, has urged crowds to continue protests until Mr Rama steps down.
He told thousands of supporters in Tirana that the president’s decision to call off elections was the “first result of our battle against Edi Rama”. Opposition parties had planned to boycott the poll.
Mr Rama has led the country since 2013.
The international community has called for Albania’s political parties to refrain from violence and open a dialogue.
Many figures, including President Meta, have said the ongoing political division threatens Albania’s aspiration to join the EU.
In a statement on Saturday, President Meta appealed for opposition leaders to conduct protests “in a completely peaceful way”.
Member states of the EU will vote in the coming weeks on whether to open accession talks with the Balkan nation.