A view shows a Russian plane (L) ahead of a prisoner exchange between Russia and Ukraine. (Reuters)

Russia and Ukraine swapped dozens of prisoners on Saturday in a carefully-negotiated rapprochement that brought Western praise and could thaw a freeze in relations since Moscow's annexation of the Crimea region in 2014.

While the exchange of 35 prisoners on each side could help rebuild confidence between Moscow and Kiev and allow them to start talking seriously over other issues including a conflict in east Ukraine, full normalisation is a long way off.

Following lengthy talks, a Russian aircraft carrying freed prisoners from Kiev landed in Moscow while a Ukrainian plane with its released prisoners touched down in Kiev.

The freed Ukrainians included 24 sailors detained by Russia during a clash in waters off Crimea last year. Ukrainian filmmaker Oleg Sentsov, jailed in Russia, was also present.

Among those handed to Moscow was Volodymyr Tsemakh, suspected of involvement in downing a Malaysia Airlines flight over rebel-held east Ukraine in 2014 that killed all 298 aboard.

The airliner was on a flight from Amsterdam to Kuala Lumpur, and the Dutch government issued a statement saying it "seriously regrets that under pressure from the Russian Federation, Mr Tsemakh was included in this prisoner swap".

The statement said Dutch prosecutors did, however, get a chance to question Tsemakh before his release. Ukraine's security service has identified him as a former commander of Russian-backed forces in eastern Ukraine.

Hugging and shaking hands with the freed Ukrainians, President Volodymyr Zelenskiy told reporters the swap was part of his deal with Russian President Vladimir Putin.

Now all steps must be taken "to finish this horrible war," he added, referring to the east where Russian-backed separatists control a swathe of Ukrainian territory in a conflict that has killed more than 13,000 people in five years.

Zelenskiy has pledged to end the regular, low-level clashes that persist despite a ceasefire signed in 2015.

Trump: "Giant step to peace"

The Russian government was upbeat.

"We view the agreed mutual release of persons held in Russia and Ukraine as a positive signal that should be followed by other important steps to break the impasse in the current situation in Russia-Ukraine relations," the Foreign Ministry said.

Though Ukraine's demands for the return of Crimea have fallen on deaf ears in Russia, Saturday's exchange was still seen as a win for Zelenskiy, a former comedian who swept to power this year promising to repatriate compatriots in Russia.

The U.S. Embassy in Kiev congratulated him.

President Donald Trump lauded both nations, tweeting that the move was "perhaps a first giant step to peace."

France, which has been pushing for a summit to resolve Russian-Ukrainian differences, said the swap showed improved trust and will on both sides to resume dialogue.

"Populations can now hope for an end to the five-year conflict, which continues to make dozens of victims each month," Foreign Minister Jean-Yves Le Drian said in a statement.

The conflict in Ukraine will be at the heart of the agenda of the Franco-Russian Cooperation Council on Security Issues, which Le Drian said he would attend in Moscow on Monday together with Defence Minister Florence Parly.

One of the 35 freed Russians brought a black-and-white cat with him on the flight back to Moscow, released Russian journalist Kirill Vyshinsky told RIA news agency. "It is a year and three months old, it is called Mashka," he said.