Greece and Macedonia have reached a historic accord to resolve a decades-old dispute over the name of the tiny Balkan nation, Greek Prime Minister Alexis Tsipras has said.

Following the latest round of discussions, Macedonia is now set to be known as the Republic of Northern Macedonia.

"I have good news ..  a while ago we reached an agreement with the Prime Minister of the Former Yugoslav Republic of Macedonia on an issue which has been on our minds for many years," Mr Tsipras told Greek President Prokopis Pavlopoulos during a televised meeting.

"We have a deal, I'm happy because we have a good deal which covers all the preconditions set by the Greek side," he said.

Mr Tsipras had earlier spoken to his Macedonian counterpart Zoran Zaev, who said the deal preserves Macedonian ethnic and cultural identity.

The dispute between the two neighbours had been an obstacle to Macedonia joining either the NATO military alliance or the European Union.

The row dates back to 1991 when Macedonia declared independence but Greece has long objected to its neighbour's constitutional name - the Republic of Macedonia - because it fears it could imply territorial ambitions.

Ancient Macedonia was the cradle of Alexander the Great's empire, a point of pride to Greeks today.

But under the Romans, the province of Macedonia was expanded to include territory in modern-day Greece, Macedonia, Bulgaria and Albania.