Moldova's pro-EU President Maia Sandu has claimed a second term after a tense election run-off seen as a choice between Europe and Russia.

With most preliminary results counted, Sandu was leading with almost 55% of the vote, and in a late-night speech she promised to be president for all Moldovans.

Her rival Alexandr Stoianoglo, who was backed by the pro-Russian Party of Socialists, had promised a closer relationship with Moscow.

During the vote, the president's national security adviser said there had been "massive interference" from Russia in Moldova's electoral process that had "high potential to distort the outcome".

With 98% of the ballots counted, Sandu led with 54.35%, the Central Election Commission said. With only parts of the country’s diaspora vote still outstanding, analysts said that Sandu was all but guaranteed to win re-election.

Early results indicated that the large Moldovan diaspora, accounting for about 20% of the electorate, had overwhelmingly voted for Sandu. The result will be a significant boost for Sandu and her long-term EU agenda.

In her victory speech, delivered after nearly all votes were tallied, Sandu said that she had listened to the voices of her supporters and those of her opponent, Stoianoglo. She said that her primary goal for the coming years would be to serve as a president for all citizens.